在当今的 IT 基础设施领域,容器化技术已经成为部署和管理应用程序的标准实践,Docker 作为容器化技术的先驱和领导者,以其轻量、高效和可移植的特性,极大地简化了开发与运维流程,CentOS 7,作为一个稳定且广泛使用的企业级 Linux 发行版,是运行 Docker 服务的理想平台,本文将详细介绍如何在 CentOS 7 系统上安装、配置和使用 Docker Community Edition (CE),为读者提供一份清晰、完整的操作指南。

准备工作
在开始安装 Docker CE 之前,确保系统满足基本要求并完成必要的清理工作,这是保证安装过程顺利无误的关键。
系统要求
您需要一台运行 CentOS 7 的服务器或虚拟机,系统版本建议为 7.x 或更高,您需要一个具有 sudo 权限的非 root 用户账户,以确保操作的安全性,稳定的网络连接也是必需的,因为安装过程需要从官方仓库下载软件包。
卸载旧版本
如果您的系统中曾经安装过 Docker 的旧版本(如 docker 或 docker-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 CE 需要 yum-utils 来提供 yum-config-manager 工具,同时依赖 device-mapper-persistent-data 和 lvm2 来提供 devicemapper 存储驱动,使用以下命令安装这些依赖:
sudo yum install -y yum-utils \ device-mapper-persistent-data \ lvm2
安装 Docker CE
完成准备工作后,我们就可以正式开始安装 Docker CE,推荐的方式是设置 Docker 的官方仓库,这样可以方便地进行安装和后续的版本更新。
步骤 1:设置 Docker 仓库 执行以下命令,添加 Docker CE 的官方稳定版仓库:
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
此命令会在 /etc/yum.repos.d/ 目录下创建一个名为 docker-ce.repo 的文件,其中包含了仓库的配置信息。

步骤 2:安装 Docker CE
仓库添加成功后,就可以使用 yum 命令安装 Docker CE 了,执行以下命令,安装最新版本的 Docker CE、命令行界面和容器运行时:
sudo yum install -y docker-ce docker-ce-cli containerd.io
docker-ce:Docker CE 引擎本身。docker-ce-cli:用于与 Docker 守护进程交互的命令行工具。containerd.io:容器运行时,负责管理容器的生命周期。
步骤 3:启动 Docker 服务
安装完成后,Docker 服务并不会自动启动,我们需要使用 systemd 来启动它,并设置为开机自启:
sudo systemctl start docker sudo systemctl enable docker
步骤 4:验证安装 为了确认 Docker CE 是否已成功安装并正常运行,可以执行一个简单的测试命令:
sudo docker run hello-world
如果一切正常,您将看到一段来自 Docker 的欢迎信息,这个命令的执行过程是:Docker 客户端连接到守护进程,守护进程在本地找不到 hello-world 镜像,于是从 Docker Hub 拉取该镜像,然后创建并运行一个容器,容器运行结束后输出信息并退出,这证明了从拉取镜像到运行容器的整个流程都是通畅的。
配置与优化
为了让 Docker 的使用更加便捷和高效,我们还需要进行一些基础配置。
将用户添加到 docker 组
默认情况下,只有 root 用户和 docker 组的成员才能执行 docker 命令,为了避免每次使用 docker 都需要输入 sudo,可以将当前用户添加到 docker 组:
sudo usermod -aG docker $USER
执行此命令后,需要注销并重新登录,或者使用 newgrp docker 命令刷新用户组权限,才能使更改生效。
配置镜像加速器 对于国内用户而言,从 Docker Hub 默认的中央仓库拉取镜像可能会比较慢,配置一个国内的镜像加速器可以显著提升下载速度,可以配置阿里云、网易云等提供的镜像加速服务。

编辑 /etc/docker/daemon.json 文件(如果不存在则创建),并添加以下内容:
{
"registry-mirrors": ["https://your-mirror-address.mirror.aliyuncs.com"]
}
请将 https://your-mirror-address.mirror.aliyuncs.com 替换为您获取到的真实镜像加速器地址,保存文件后,重启 Docker 服务使配置生效:
sudo systemctl daemon-reload sudo systemctl restart docker
Docker 基础命令一览 掌握一些基础命令是使用 Docker 的前提,下表列出了一些最常用的命令:
| 命令 | 功能描述 |
|---|---|
docker ps |
查看当前正在运行的容器 |
docker ps -a |
查看所有容器(包括已停止的) |
docker images |
查看本地已有的镜像 |
docker pull <image_name> |
从仓库拉取指定的镜像 |
docker run <image_name> |
基于指定镜像创建并启动一个新容器 |
docker stop <container_id> |
停止一个正在运行的容器 |
docker rm <container_id> |
删除一个已停止的容器 |
docker rmi <image_id> |
删除一个本地镜像 |
相关问答FAQs
问题 1:为什么我运行 docker 命令时会提示 “permission denied” 或者 “Got permission denied while trying to connect to the Docker daemon socket”?
解答: 这个错误出现的原因是当前用户没有权限访问 Docker 守护进程的 Unix socket(通常位于 /var/run/docker.sock),默认情况下,只有 root 用户和 docker 组的用户才有此权限,您有两种解决方法:一是在每个 docker 命令前加上 sudo,但这比较繁琐;二是将您的用户账户添加到 docker 用户组中,如上文所述,使用 sudo usermod -aG docker $USER 命令,然后重新登录即可。
问题 2:如何将已安装的 Docker CE 更新到最新版本? 解答: 由于我们是通过官方 YUM 仓库安装的 Docker CE,因此更新过程非常简单,只需执行以下命令即可:
sudo yum update docker-ce
系统会自动检查仓库中的最新版本,并下载安装,更新完成后,建议重启 Docker 服务以确保所有新组件都正常加载:
sudo systemctl restart docker