docker 安装
本文记录在 CentOS 上安装 Docker 引擎,其他平台请查看官方安装文档。
安装方法
可以根据需要以不同的方式安装 Docker Engine:
- 设置 Docker 存储库并从中安装,以便于安装和升级任务(推荐)
- 下载 RPM 包并手动安装它并完全手动管理升级(适用于无法访问外网的环境)
- 使用自动化安装脚本来安装 Docker(推荐在测试和开发环境中使用)
使用存储库安装
在新主机上首次安装 Docker Engine 之前,您需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。
设置存储库
安装 yum-utils
软件包,它提供 yum-config-manager
实用程序
$ sudo yum install -y yum-utils
设置存储库
-
官方源
$ sudo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo
-
阿里源
$ sudo yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装 Docker Engine
安装最新版本
默认安装最新的稳定版本的 Docker
$ sudo yum makecache fast
$ sudo yum install docker-ce -y
安装指定版本
-
查找存储库中可用的版本
$ yum list docker-ce --showduplicates | sort -r docker-ce.x86_64 3:20.10.3-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.2-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.17-3.el7 docker-ce-stable docker-ce.x86_64 3:20.10.16-3.el7 docker-ce-stable ...
-
安装指定版本
通过其完全限定的包名称安装特定版本:
sudo yum install docker-ce-<VERSION_STRING>
<VERSION_STRING>
为版本字符串(第 2 列),从第一个冒号 (:
) 开始,直到第一个连字符 (-
) 。例如,
docker-ce-20.10.16
# $ sudo yum install docker-ce-<VERSION_STRING> $ sudo yum install docker-ce-20.10.16
测试版本
官方软件源默认启用了最新的软件,可以通过编辑软件源的方式获取各个版本的软件包。
例如官方并没有将测试版本的软件源置为可用,可以通过以下方式开启。同理可以开启各种测试版本等。
$ sudo vi /etc/yum.repos.d/docker-ce.repo
# 将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
启动 Docker
加入开机启动并启动 docker
$ sudo systemctl enable docker --now
安装验证
查看 Docker 版本信息
# sudo docker --version
$ sudo docker -v
Docker version 20.10.17, build 100c701
$ docker version
Client: Docker Engine - Community
Version: 20.10.17
API version: 1.41
Go version: go1.17.11
Git commit: 100c701
Built: Mon Jun 6 23:05:12 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.17
API version: 1.41 (minimum version 1.12)
Go version: go1.17.11
Git commit: a89b842
Built: Mon Jun 6 23:03:33 2022
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.6
GitCommit: 10c12954828e7c7c9b6e0ea9b0c02b01407d3ae1
runc:
Version: 1.1.2
GitCommit: v1.1.2-0-ga916309
docker-init:
Version: 0.19.0
GitCommit: de40ad0
通过运行 hello-world
映像来验证 Docker 引擎是否已正确安装
$ sudo docker run hello-world
此命令下载测试映像并在容器中运行它。当容器运行时,它会打印一条消息并退出。
使用 RPM 包安装
如果无法使用 Docker 的存储库来安装 Docker,则可以下载对应版本的 .rpm
文件并手动安装。每次升级 Docker Engine 时都需要下载一个新文件。
-
下载
.rpm
文件$ sudo wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-20.10.17-3.el7.x86_64.rpm # 依赖 $ sudo wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.6.6-3.1.el7.x86_64.rpm $ sudo wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-20.10.17-3.el7.x86_64.rpm $ sudo wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-rootless-extras-20.10.17-3.el7.x86_64.rpm $ sudo wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-scan-plugin-0.17.0-3.el7.x86_64.rpm
-
安装 Docker Engine
$ sudo yum localinstall *.rpm -y
-
启动 Docker
# 启动并加入开机启动 $ systemctl enable docker --now
-
安装验证
# sudo docker version # sudo docker --version $ sudo docker -v $ sudo docker run hello-world
使用脚本安装
Docker 在 get.docker.com 上提供了一个方便的脚本,可以快速、非交互地将 Docker 安装到开发环境中。不建议将脚本用于生产环境。该脚本的源代码是开源的,可以在 GitHub 上的 docker-install 存储库中找到。
Tip:运行前预览脚本步骤
可以使用
DRY_RUN=1
选项运行脚本,以了解脚本在安装期间将执行的步骤:$ curl -fsSL https://get.docker.com -o get-docker.sh #$ sudo sh get-docker.sh $ DRY_RUN=1 sh ./get-docker.sh
安装最新的稳定版本的 Docker
$ curl -fsSL https://get.docker.com | sh
# Executing docker install script, commit: b2e29ef7a9a89840d2333637f7d1900a83e7153f
<...>
使用阿里 Docker CE 镜像源站
$ curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
Docker 的 安装资源文件 存放在Amazon S3,会间歇性连接失败。所以安装Docker的时候,会比较慢。 可以通过 DaCloud 提供的安装资源文件(就是 Docker 提供的那个安装脚本),高速安装Docker。
$ curl -sSL https://get.daocloud.io/docker | sh
$ curl -sSL https://get.daocloud.io/docker | bash -s docker --mirror Aliyun
适用于 Ubuntu,Debian,Centos 等大部分 Linux,会3小时同步一次 Docker 官方资源。
安装预发行版
Docker 官网脚本
$ curl -fsSL https://test.docker.com -o test-docker.sh
$ sudo sh test-docker.sh
<...>
DaCloud 提供的脚本
$ curl -sSL https://get.daocloud.io/docker-experimental | sh
# 拷贝的 Docker 官网脚本
$ curl -sSL https://get.daocloud.io/docker-test | sh
如果安装不成功,可以选择使用二进制包安装方式。 下载二进制包
卸载 Docker
卸载 Docker Engine、CLI、Containerd 等软件包
$ sudo yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
主机上的映像、容器、卷或自定义配置文件不会自动删除。要删除所有映像、容器和卷:
$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd
安装 Docker Compose
使用存储库安装
设置存储库请参考前面的设置存储库
$ sudo yum install docker-compose-plugin -y
$ docker compose version
Docker Compose version v2.6.0
二进制安装
Docker Compose 存放在 Git Hub,不太稳定。 可以也通过执行下面的命令,高速安装 Docker Compose
$ curl -L https://get.daocloud.io/docker/compose/releases/download/v2.6.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
可以通过修改URL中的版本,可以自定义您的需要的版本。