安装docker之前,你的系统必须满足以下先决条件。
先决条件
要求
安装Docker CE,你需要一个维护版 CentOS 7。
必须启用 centos-extras
仓库,它默认是启用的,如果你禁用过,请重新启用。
建议使用 overlay2
存储驱动程序。
卸载旧的版本
旧版本的Docker叫做docker
或 docker-engine
。如果安装过,请卸载它们以及相关的依赖。
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
yum
报告说没有安装这些包是可以的。
/var/lib/docker/
的内容包括保存下来的镜像、容器、卷标和网络信息,现在Docker CE的包叫做 docker-ce
.
安装 Docker CE
你可以根据你的需求,通过不同的方法安装Docker CE:
-
为了方便安装和升级,大多数用户设置了Docker的仓库,并从中安装,推荐这种方法。
-
一些用户下载rpm软件包手动安装,并完全手动管理升级。这个方法在没有互联网的情况下安装Docker非常有用。
-
在测试和开发环境中,一些用户选择使用自动化脚本来安装docker。
使用仓库安装
第一次在新主机上安装Docker CE之前,您需要设置Docker仓库。之后,您可以从仓库安装和更新Docker。
设置仓库
-
安装所需的软件包。
yum-utils
用来提供yum-config-manager
,devicemapper
存储驱动需要device-mapper-persistent-data
和lvm2
。$ sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
-
使用下面的命令设置 稳定的 仓库。 即使你想从edge(每月更新功能) 或者 test 库安装生成,你也需要一个稳定的 仓库。
$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
-
可选项: 启用edge和test 仓库. 这些库包含在
docker.repo
文件中,但默认是禁用的。你可以和稳定库一起启用。$ sudo yum-config-manager --enable docker-ce-edge
$ sudo yum-config-manager --enable docker-ce-test
你可以执行
yum-config-manager
命令和--disable
标记禁用edge 或者test 库。使用--enable
标记从新启用他们。下面的命令用于禁用edge库。$ sudo yum-config-manager --disable docker-ce-edge
注意: 从17.06版本开始,稳定版也会被推送到 edge 和test 库。
安装 DOCKER CE
-
安装最新版 Docker CE,或者转到下一步安装特定版本。
$ sudo yum install docker-ce
警告: 如果你启用了多个Docker 库,使用
yum install
或者yum update
命令安装或升级,且不指定版本的情况下,通常安装最高版本,这可能不符合你的稳定性需要。如果这是您第一次从最近添加的仓库中安装包,则会提示您接受GPG密钥,并显示该密钥的指纹。请验证指纹是否正确,如果正确,则接受该密钥。
指纹应该匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
.Docker已经安装好了,但是没有启动。
docker
组已经创建, 但是没有向组中添加任何用户。 -
在生产系统上,您应该安装一个固定版本的Docker CE,不要总使用最新版。可以使用下面例子中给出的命令列出可用的版本,使用
sort -r
命令将结果从最高到最低版本排序。$ yum list docker-ce --showduplicates | sort -r docker-ce.x86_64 17.12.ce-1.el7.centos docker-ce-stable
列表的内容取决于启用了哪些仓库,并且符合您的CentOS版本(在本例中,后缀
.el7
标明了对应的版本), 第二列是版本字符串,选择要安装的版本。 您可以使用整个版本字符串,但至少需要包含到第一个连字符。 第三列是仓库的名称,它指示包来自哪个仓库,并扩展为它的稳定性级别。若要安装特定版本,请将版本字符串附加到包名并用连字符(-
)分隔它们。注意: 版本字符串是包名加版本到第一个连接符。上面的例子中,完整的描述包名应该是
docker-ce-17.12.ce
。$ sudo yum install <FULLY-QUALIFIED-PACKAGE-NAME>
-
启动 Docker.
$ sudo systemctl start docker
-
运行
hello-world
镜像,验证是否正确安装了docker
。$ sudo docker run hello-world
此命令下载测试镜像并在容器中运行。当容器运行时,它会打印一条信息性消息并退出。
Docker CE 已经安装并运行。你需要使用 sudo
运行Docker命令。继续到 Linux postinstall 允许非特权用户运行docker命令和其他可选配置步骤。
升级 DOCKER CE
若要升级Docker CE,请按照安装说明,选择要安装的新版本。
使用安装包安装
如果你不能用Docker仓库安装Docker,你可以下载release版的 .rpm
文件手动安装。每次升级Docker你都需要下载一个新的文件。
-
到 https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 下载你想要安装的对应版本的
.rpm
文件。注意: 如果想安装 edge 包, 把链接中
stable
换成edge
. 点击这里了解 stable and edgechannels. -
将下面的路径改为你下载的Docker安装包的路径,执行Docker CE安装。
$ sudo yum install /path/to/package.rpm
Docker已经安装好了,但是没有启动。
docker
组已经创建, 但是没有向组中添加任何用户。 -
启动 Docker.
$ sudo systemctl start docker
-
运行
hello-world
镜像,验证是否正确安装了docker
。$ sudo docker run hello-world
此命令下载测试镜像并在容器中运行。当容器运行时,它会打印一条信息性消息并退出。
Docker CE 已经安装并运行。你需要使用 sudo
运行Docker命令。继续到 Linux postinstall 允许非特权用户运行docker命令和其他可选配置步骤。
升级 DOCKER CE
要升级Docker CE,下载新的安装包并重复安装过程,使用 yum -y upgrade
而不是yum -y install
,指向新的文件。