设计初期,docker是运行在服务器上的,而服务器的操作系统大多数是安装的linux操作系统。这也就导致docker主要用在linux上。因此我们选择在centos 8 来解说docker的安装。
要在 CentOS 上开始使用 Docker Engine,请确保 满足先决条件
,然后 安装 Docker
。
先决条件
-
操作系统要求
要安装 Docker 引擎,您需要 CentOS 7 或 8 的维护版本。不支持或测试存档版本。
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-engine
如果yum
报告没有安装这些软件包,那也没关系。
/var/lib/docker/
的内容,包括图像、容器、卷和网络,将被保留。Docker 引擎包现在被称为docker-ce
.
安装方法
可以根据需要以不同方式安装 Docker Engine:
-
大多数用户
设置 Docker 的存储库
并从中安装,以便于安装和升级任务。这是推荐的方法。 -
一些用户下载
RPM包手动安装
并完全手动管理升级。这在诸如在无法访问互联网的系统上安装 Docker 等情况下非常有用。 -
在测试和开发环境中,一些用户选择使用自动化的
便捷脚本来安装 Docker
。
使用存储库安装
在新主机上首次安装 Docker Engine 之前,需要设置 Docker 存储库
。之后,可以从存储库安装和更新 Docker。
设置存储库
安装yum-utils
包(提供yum-config-manager
实用程序)并设置稳定存储库,这里推荐使用国内阿里云镜像源
。
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
可选:启用
nightly
或test
存储库。
这些存储库包含在docker.repo
上面的文件中,但默认情况下是禁用的。可以在稳定存储库启用它们。以下命令启用nightly
存储库。
sudo yum-config-manager --enable docker-ce-nightly
要启用test
通道,请运行以下命令:
sudo yum-config-manager --enable docker-ce-test
可以通过运行带有标志的命令来禁用nightly
或test
存储库。要重新启用它,请使用 --enable
标志。以下命令禁用nightly
存储库。
sudo yum-config-manager --disable docker-ce-nightly
安装 Docker 引擎
- 安装最新版本的 Docker Engine 和 containerd,或者进入下一步安装特定版本:
sudo yum install docker-ce docker-ce-cli containerd.io
如果提示接受 GPG 密钥
,请接收验证指纹060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35
。
有多个 Docker 存储库?
如果您启用了多个 Docker 存储库,则在yum install
或yum update
命令中未指定版本的情况下安装或更新始终会安装可能的最高版本,这可能不适合您的稳定性需求。
此命令会安装 Docker,但不会启动 Docker。它还会创建一个 docker组
,但是,默认情况下它不会向该组添加任何用户。
- 要安装特定版本的 Docker Engine,请在 repo 中列出可用版本,然后选择并安装:
a. 列出并排序您的存储库中可用的版本。此示例按版本号对结果进行排序,从高到低,并被截断:
yum list docker-ce --showduplicates | sort -r
返回的列表取决于启用了哪些存储库,并且特定于您的 CentOS 版本(.el7在本示例中由后缀表示)。
b. 通过完全限定的包名称安装特定版本,即包名称 ( docker-ce) 加上从第一个冒号 ( :)开始的版本字符串(第 2 列),直到第一个连字符,由连字符 ( -)分隔。例如,docker-ce-18.09.1。
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
此命令会安装 Docker,但不会启动 Docker。它还会创建一个 docker组,但是,默认情况下它不会向该组添加任何用户。
- 启动 Docker。
sudo systemctl start docker
通过运行hello-world
映像验证 Docker Engine
是否已正确安装。
sudo docker run hello-world
此命令下载测试映像并在容器中运行它。当容器运行时,它会打印一条消息并退出。
这将安装并运行 Docker 引擎。使用sudo
运行docker
命令。继续Linux postinstall
以允许非特权用户运行 Docker 命令和其他可选配置步骤。
- 升级 Docker 引擎
要升级 Docker Engine,请按照安装说明
进行操作,选择要安装的新版本。