Docker 基础教程

Docker 安装

Docker 使用

Docker 实例

Docker 参考手册

original icon
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.knowledgedict.com/tutorial/docker-centos-docker-install.html

CentOS Docker 安装详解


从 CentOS 8 开始原生支持 Docker,可以直接通过 yum 安装和使用最新版 Docker CE;CentOS 7 需要启用 Extra Packages for Enterprise Linux(EPEL)仓库后,才可以安装 Docker;CentOS 6 不再官方支持 Docker 软件包,需要自己编译 Docker 安装。

前提条件

系统要求

要安装 Docker Engine,需要以下 CentOS 稳定版本:

  • CentOS 7
  • CentOS 8(stream)
  • CentOS 9(stream)

centos-extras 必须启用存储库。默认情况下启用此存储库。如果您已禁用它,则需要重新启用它。

卸载旧版本

旧版本的 Docker 采用 dockerdocker-engine。在尝试安装新版本之前卸载任何此类旧版本以及相关的依赖项。

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

/var/lib/docker/ 卸载 Docker 时,不会自动删除存储的镜像、容器、卷和网络,需要自行手动删除。

安装方法

您可以根据需要以不同的方式安装 Docker Engine:

  • 您可以设置 Docker 的存储库并从中进行安装,以方便安装和升级任务。这是推荐的方法。
  • 您可以下载 RPM 包, 手动安装,并完全手动管理升级。这对于在无法访问互联网的气隙系统上安装 Docker 等情况非常有用。
  • 在测试和开发环境中,您可以使用自动化脚本来安装 Docker。

使用 rpm 存储库安装

在新主机上首次安装 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

安装 Docker Engine

第一步,安装 Docker Engine、containerd 和 Docker Compose:

最新版本安装使用如下命令:

sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

如果具体版本安装,先使用如下命令查询当前支持的所有版本:

$ yum list docker-ce --showduplicates | sort -r

docker-ce.x86_64    3:24.0.0-1.el8    docker-ce-stable
docker-ce.x86_64    3:23.0.6-1.el8    docker-ce-stable
<...>

返回的列表取决于启用的存储库,并且特定于您的 CentOS 版本(.el8 在本示例中由后缀表示)。

通过完全限定的包名称安装特定版本,即包名称(docker-ce)加上版本字符串(第二列),并用连字符(- )分隔。例如,docker-ce-3:24.0.0-1.el8

替换 <VERSION_STRING> 为所需的版本,然后运行以下命令进行安装:

sudo yum install docker-ce-VERSION_STRING docker-ce-cli-VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin

第二步,启动 Docker。

sudo systemctl start docker

第三步,通过运行镜像来验证 Docker Engine 安装是否成功 hello-world

sudo docker run hello-world

此命令下载测试映像并在容器中运行它。当容器运行时,它会打印一条确认消息并退出。

配置 Docker 镜像源

由于官方默认的镜像源国内访问比较慢,需要额外配置国内镜像源。

首先,创建或修改 /etc/docker/daemon.json 文件,并写入以下内容:

{
   "registry-mirrors": [
       "https://mirror.ccs.tencentyun.com"
  ]
}

可用的国内镜像源有如下,可参考配置:

  • 中国区官方镜像:https://registry.docker-cn.com
  • 中科大源:https://docker.mirrors.ustc.edu.cn
  • 阿里源:https://cr.console.aliyun.com
  • 腾讯源:https://mirror.ccs.tencentyun.com
  • 网易源:http://hub-mirror.c.163.com

其次,重启 docker:

sudo systemctl restart docker

再次,检查是否生效:

docker info

在返回信息最底下有如下信息则表示成功:

Registry Mirrors:
 https://mirror.ccs.tencentyun.com

卸载 Docker Engine

卸载 Docker Engine、CLI、containerd 和 Docker Compose 软件包:

sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

主机上的镜像、容器、卷或自定义配置文件不会自动删除。要删除所有镜像、容器和卷:

$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd