如何在CentOS上安装Docker

时间:2020-03-05 15:27:53  来源:igfitidea点击:

在Ubuntu上安装Docker很简单,因为Ubuntu在其存储库中提供Docker。

但是,Centos默认存储库中不提供Docker。

FRET没有,有三种方式可以在CentOS Linux系统上安装Docker。

  • 使用Docker的存储库
  • 下载rpm.
  • 使用帮助脚本

其中我将使用Docker的RPM存储库来浏览Docker CE的安装过程。

Docker CE stands for Docker Community Edition. This is the free and open source version of Docker. There is Docker EE (Enterprise Edition) with paid support. Most of the world uses Docker CE and it is often considered synonymous to Docker.

在CentOS上安装Docker

在进一步前进之前,请确保更新系统。
我们可以使用以下方式更新CentOS:

sudo dnf update

第1步:添加官方存储库

使用以下命令添加Docker的官方存储库

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

添加新存储库后,我们还应更新包缓存:

sudo dnf update

第2步:安装Docker CE

使用自定义存储库的问题是如果我们尝试安装最新版本的Docker-CE,则可能具有依赖性问题。

例如,当我使用此命令检查Docker-CE的可用版本时:

dnf list docker-ce --showduplicates |  sort -r

我得到了docker-ce-3:19.03.9-3.el7作为最新版本。
但安装最新版本的问题是它取决于ContainerD.IO版本> = 1.2.2-3.
现在,这个版本的ContainerD.IO不可用CentOS 8.

为避免此依赖项循环并手动对其进行争斗,可以使用dnf命令的--nobest选项。

它将检查最新版本的Docker-CE,但在找到依赖项时,它会检查Docker-CE的下一个可用版本。
基本上,它有助于我们自动安装最合适的包版本,所有依赖项都满足。

要在CentOS中安装Docker而不获得偏头痛,请尝试此命令,并查看终端屏幕上的魔法展开:

sudo dnf install docker-ce --nobest

系统将提示我们输入GPG键,确保在进入"Y"之前,确保键匹配为"060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35"。

containerd.io is a daemon for managing containers. Docker is just one form of Linux containers. To make the various types of container images portable, Open Container Initiative has defined some standards. containerd is used for managing the container images conforming to OCI standard.

在CentOS上设置Docker

好的!我们安装了Docker,但尚未准备好使用。
我们必须在顺利使用之前进行一些基本配置。

没有sudo运行docker

我们可以通过将用户添加到"Docker"组"来运行Docker而没有任何sudo权限。

Docker组应该已经存在。
使用以下命令检查:

awk -F: '/docker/{print }' /etc/group

如果此输出没有,请使用像这样的groupadd命令创建Docker组:

sudo groupadd docker

现在使用usermod命令添加用户到docker组:

$sudo usermod -aG docker user_name

使用预期的用户名更改上面命令中的user_name。

现在退出并登录组更改以生效。

开始Docker守护进程

Docker安装。
用户已被添加到"Docker"组"中。
但这还不足以运行Docker。

在运行任何容器之前,Docker守护程序需要运行。
Docker守护进程是管理所有容器,卷,网络等的程序换句话说,守护进程都是繁重的升降。

使用以下方式启动Docker守护程序:

sudo systemctl start docker

我们还可以在启动时启用Docker守护程序以自动启动:

sudo systemctl enable --now docker

通过运行示例容器来验证Docker安装

一切都已完成。
是时候测试安装是否成功,通过运行Docker容器来测试是否成功。

要验证,我们可以运行ClichéHello-World Docker容器。
这是一个小型Docker图像,非常适合快速测试Docker安装。

docker run hello-world

如果一切正常,我们应该看到这样的输出:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete 
Digest: sha256:d58e752213a51785838f9eed2b7a498ffa1cb3aa7f946dda11af39286c3db9a9
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.

这就是引擎盖后面的命令:

  • 例如,Docker客户端:我们刚刚使用的命令行工具联系了Docker守护程序。
  • 守护进程在本地系统中寻找我们好世界Docker图像。由于它没有找到图像,因此它将其从Docker Hub中拉。
  • 引擎为包含我们通过客户端命令行选项提供的所有选项创建容器。

此我们好世界图像用于测试Docker安装。
如果我们想要更有用的容器,我们可以尝试在这样的容器中运行nginx服务器:

docker run --rm --name nginx -p 56788:80 -d nginx:latest

完成命令运行后,打开浏览器并转到http://your_ip_address:56788.
我希望我们知道如何在Linux中了解IP地址。

我们应该看到nginx服务器运行。
你现在可以阻止容器。

docker stop nginx