Linux Docker安装及升级
操作系统要求
要安装 Docker 引擎,您需要 CentOS 7 或 8 的维护版本。不支持或测试存档版本。
该centos-extras库必须启用。默认情况下启用此存储库,但如果您已禁用它
卸载旧版本
旧版本的 Docker 被称为docker或docker-engine。Docker 引擎包现在被称为docker-ce。如果安装了这些,请卸载它们以及相关的依赖项。
yum remove docker \ docker-client
\ docker-client-latest
\ docker-common
\ docker-latest
\ docker-latest-logrotate
\ docker-logrotate
\ docker-engine
如果yum报告没有安装这些软件包,不影响后续安装。
安装完成后,Docker镜像和容器的默认存储位置是 /var/lib/docker/, 包含 images, containers, volumes, networks。
Docker 默认安装的情况下,会使用 /var/lib/docker/ 目录作为存储目录,用以存放拉取的镜像和创建的容器等。不过由于此目录一般都位于系统盘,遇到系统盘比较小,而镜像和容器多了后就容易尴尬,建议更改存储目录。
安装方法
可以根据需要以不同方式安装 Docker Engine:
- 大多数用户设置Dockerd存储库并从中安装,以便于安装和升级任务。生产环境推荐此方法,此文档只介绍【设置存储库安装】的方式,其他安装方式可以参照官网:https://docs.docker.com/engine/install/centos/。
- 下载 RPM 包并 手动安装并完全手动管理升级。这在诸如在无法访问互联网的气隙系统上安装 Docker 等情况下非常有用。
- 在测试和开发环境中,一些用户选择使用自动化的 便捷脚本来安装 Docker。
设置存储库
安装yum-utils包(提供yum-config-manager 实用程序)并设置稳定存储库。
yum install -y yum-utils yum-config-manager
\ --add-repo
\ https://download.docker.com/linux/centos/docker-ce.repo
默认只开启stable repositories(稳定存储库),可根据需要选择性开启nightly or test repositories。(暂不知开启nightly or test repositories有什么用处,个人理解生产环境不需要开启)
nightly or test repositories存储库包含在docker.repo上面的文件中,但默认情况下是禁用的。您可以在稳定存储库旁边启用它们。
开启nightly repositories
yum-config-manager --enable docker-ce-nightly
开启test repositories
yum-config-manager --enable docker-ce-test
安装Docker Engine
1、安装最新版Docker Engine 和 containerd,或者根据第二部安装指定版本。
yum install docker-ce docker-ce-cli containerd.io
安装时如果提示接受 GPG 密钥,请验证指纹是否匹配060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35,如果匹配 ,请接受,继续安装。
如果启用了多个 Docker 存储库,则在yum install或 yum update命令中未指定版本的情况下安装或更新始终会安装可能的最高版本,不符合生产环境稳定性需求。建议参考第二步,根据需求安装指定版本的Docker Engine 和 containerd
此命令会安装 Docker,但不会启动 Docker。它还会创建一个 docker组,但是,默认情况下它不会向该组添加任何用户。
2、安装指定版本Docker Engine 和 containerd,查看存储库中可用的版本,选择一个需要的版本进行安装
- 列出并排序存储库中可用版本,下面示例是按照版本号从高到低进行排序(部分截图)
list docker-ce --showduplicates | sort -r
具体列表展示的内容取决于启用了哪些存储库,和 CentOS 版本(.el7在本示例中由后缀表示)。
- 通过完全限定的包名称来安装指定版本,即包名称 ( docker-ce) 加上从第一个冒号 ( :)开始的版本字符串(第 2 列),直到第一个连字符,由连字符 ( -)分隔。例如,docker-ce-18.09.1。
yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
此命令会安装 Docker,但不会启动 Docker。它还会创建一个 docker组,但是,默认情况下它不会向该组添加任何用户。
3、启动Docker
systemctl start docker
4、验证Docker Engine是否成功安装,运行hello-world镜像
docker run hello-world
这个命令会去下载一个测试镜像,并在容器中运行它,当容器成功运行镜像会打印一条信息并退出
最好使用非root用户管理Docker,创建非root用户组及用户参照:https://docs.docker.com/engine/install/linux-postinstall/
更新Docker Engine
要升级 Docker Engine,请按照安装步骤,选择要安装的新版本即可。