如何部署docker环境(centos)

如何搭建docker

前言

  1. 什么是docker ?
    • 打包应用的平台
    • 打包后的平台里的应用可以在任意支持docker的操作系统上运行
      (不会因为操作系统/主机不一样而出现错误)
    • 轻量/扩展性强,随处运行

Linux(centos)安装

Tip:每一段操作后面附有具体含义,若不想看可以再输入完命令后跳到下一步操作

添加Docker repository-存储库 yum源

sudo yum-config-manager \
    --add-repo \
    https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo

该代码是使用yum-config-manager命令来添加一个新的仓库配置文件到Yum包管理器中。具体解释如下:

  • sudo:以超级用户权限执行命令,因为修改仓库配置需要管理员权限。
  • yum-config-manager:Yum包管理器的一个命令,用于管理仓库配置。
  • --add-repoyum-config-manager命令的选项,表示要添加一个新的仓库配置。
  • https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo:要添加的仓库配置文件的URL地址。在这种情况下,配置文件位于https://mirrors.ustc.edu.cn/docker-ce/linux/centos/路径下,文件名为docker-ce.repo

通过执行这段代码,将会向Yum包管理器中添加一个新的仓库配置文件,该配置文件指定了一个特定的URL作为Docker-CE软件包在CentOS系统上的安装源。这样就可以使用Yum命令从该源安装、更新和管理Docker-CE软件包。

为什么yum下载之前还要添加到仓库里?


在使用Yum下载软件包之前,需要将软件包的仓库添加到Yum配置中的原因如下:

仓库提供软件包的源信息:仓库配置文件包含了软件包的源信息,包括软件包的名称、版本、依赖关系等。Yum使用这些源信息来确定从哪里下载软件包以及如何解决软件包之间的依赖关系。

管理软件包的版本和更新:通过将仓库添加到Yum配置中,可以轻松地管理软件包的版本和更新。Yum可以自动检查可用的更新,并提供一致的方式来安装、升级和删除软件包。

安全性和可靠性:使用官方或受信任的仓库可以提高软件包的安全性和可靠性。官方仓库经过测试和审核,确保软件包的质量和稳定性。添加官方仓库可以避免从不受信任的来源下载软件包,减少潜在的安全风险。

通过将仓库添加到Yum配置中,可以方便地访问并下载所需的软件包。Yum会自动从配置的仓库中获取软件包的信息,并根据需要下载和安装软件包及其依赖项。这样可以简化软件包管理过程,提高系统的可靠性和安全性。

更新仓库,生成软件包缓存

yum makecache fast //没有反应可以将fast换成--timer

yum makecache fast 是一个 Yum 命令,用于生成 Yum 软件包缓存,并采用快速模式。

具体解释如下:

yum:Yum 包管理器的命令。
makecache:生成软件包缓存的操作。
fast:快速模式选项,用于加快生成软件包缓存的速度。
当执行 yum makecache fast 命令时,Yum 将会执行以下操作:

检查已配置的 Yum 仓库列表,并检查每个仓库是否有新的软件包或更新可用。
下载仓库元数据,包括软件包清单、依赖关系和其他相关信息。
生成软件包缓存,将仓库信息存储在本地系统中,以便后续的软件包操作可以快速访问这些信息。
使用快速模式 (fast) 可以加快生成软件包缓存的速度。它会跳过某些检查和验证步骤,从而提高缓存生成的效率。这在需要快速更新软件包缓存的情况下特别有用,例如在系统初次安装后或添加新的仓库配置后,使用 yum makecache fast 可以快速更新本地的软件包信息,以便后续的软件包操作能够立即使用最新的仓库数据。

总结:可能类似更新仓库可下载的源,获取软件缓存包为后续yum做铺垫

新学单词:cache——缓存 (buffer缓冲)

安装三件套

sudo yum install docker-ce docker-ce-cli containerd.io

在执行 sudo yum install docker-ce docker-ce-cli containerd.io 命令时,会安装 Docker 相关的软件包,包括以下三个组件:

docker-ce:Docker Community Edition(Docker CE)是 Docker 的开源版本,用于构建、分发和运行容器化应用程序。它提供了容器运行时和相关的工具,使用户能够创建、部署和管理容器。

docker-ce-cli:Docker CE Command Line Interface(CLI)是 Docker CE 的命令行工具,用于与 Docker 进行交互和管理容器化环境。通过 Docker CLI,用户可以执行各种操作,如创建、启动、停止、删除容器,构建和推送镜像,管理容器网络等。

containerd.io:containerd.io 是一个开源的容器运行时工具,用于管理容器的生命周期和运行容器的基础设施。它是一个高性能、稳定且可扩展的容器运行时,用于支持 Docker 和其他容器编排平台。

这三个组件一起协同工作,提供了完整的容器解决方案。docker-ce 是 Docker 引擎,提供了容器的构建、分发和运行环境;docker-ce-cli 是与 Docker 引擎交互的命令行工具;containerd.io 则是容器运行时,用于管理容器的核心功能。通过安装这三个软件包,您将能够使用 Docker 进行容器化应用程序的开发、部署和管理。

人话就是

  • docker-ce:构建,运行应用的 玩意
  • docker-ce-cli:命令行交互。控制ce的玩意
  • containerd.io:帮助您创建、启动、停止和管理容器,以及处理与容器相关的各种任务,如镜像传输、存储、网络连接等。(VM ware里的虚拟机设置面板)

(吐槽:这三个玩意368M大小,小硬盘开始慌了)

开启and设置自启动

sudo systemctl enable docker
sudo systemctl start docker

验证是否安装成功

sudo docker run hello-world

——出现以下消息则成功

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
719385e32844: Pull complete
Digest: sha256:c79d06dfdfd3d3eb04cafd0dc2bacab0992ebc243e083cabe208bac4dd7759e0
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

长话短说就是

  • 该命令是运行名为hello-world的容器(可是找不到该容器)
  • Docker客户端就跑到了Docker Hub(Docker的镜像仓库下载名为hello-word的镜像)
  • 根据镜像创建容器,并在容器运行hello镜像中的可执行文件
    内容为——输出一条欢迎信息以验证docker是否正常工作
  • 你可以尝试运行ubuntu容器:$ docker run -it ubuntu bash
  • 最后面的链接就是,打广告了。你懂的
  1. 嫌麻烦,以下脚本一步到位
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun

sudo systemctl enable docker
sudo systemctl start docker

sudo groupadd docker
sudo usermod -aG docker $USER

以下是对每个命令的解释:

  1. curl -fsSL https://get.docker.com -o get-docker.sh: 这个命令使用curl工具从"https://get.docker.com"网址下载了一个名为"get-docker.sh"的脚本文件-fsSL选项用于在后台静默下载文件,并将下载的内容保存到指定的文件。

  2. sudo sh get-docker.sh --mirror Aliyun: 这个命令使用sudo权限运行了"get-docker.sh"脚本文件,并通过--mirror Aliyun选项指定了使用Aliyun镜像源进行安装。镜像源可以加快软件包的下载速度。

  3. sudo systemctl enable docker: 这个命令使用systemctl工具启用了Docker服务。启用后,Docker服务将在系统启动时自动启动。

  4. sudo systemctl start docker: 这个命令使用systemctl工具启动了Docker服务。启动后,Docker将开始运行并接受容器管理命令。

  5. sudo groupadd docker: 这个命令使用sudo权限创建了一个名为"docker"的用户组。Docker守护进程使用这个用户组来管理对Docker资源的访问权限。

  6. sudo usermod -aG docker $USER: 这个命令将当前用户($USER)添加到"docker"用户组中,以便该用户可以在不使用sudo命令的情况下运行Docker命令。添加用户到"docker"用户组后,需要重新登录系统才能使更改生效。

请注意,这些命令用于在Linux系统上安装和配置Docker,并设置当前用户的访问权限。执行这些命令之前,请确保你已经了解了潜在的风险并理解每个命令的作用。

以下纯废话,爱看不看

  • curl -fsSL

-fsSL 是 curl 命令的选项,具有以下含义:

-f:在发生错误时,不显示错误信息,并返回非零的退出状态码。这通常用于在脚本中进行错误处理。
-s:静默模式,不显示进度条或错误信息。
-S:在发生错误时显示错误信息。与 -s 选项相反,它仅显示错误信息而不显示进度条。
因此,-fsSL 组合选项用于在静默模式下执行 curl 命令,并在发生错误时显示错误信息。

(这里很奇怪啊,又-s静默不显示进度条或错误信息,后面又来一个-S显示错误信息)

(可加可不加吧,无非就是多了一堆信息,或者记静默就用-fsSL)

  • -o

将下载内容指定保存到xx文件下

  • sh xxx --mirror Aliyun

启动脚本文件,用镜像源阿里云进行安装

  • 镜像源:加快软件包下载速度(与地区有关,离哪个近用哪个。国内阿里,国外不清楚)
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇