CentOS Docker 安装与配置指南

本文介绍在 CentOS 7/8 系统上安装和配置 Docker 的完整步骤,包括 Docker Engine 和 Docker Compose 的安装。

系统要求

  • CentOS 7 或更高版本
  • 内核版本 3.10 或更高
  • 64 位系统

安装前准备

卸载旧版本 Docker(如果存在)

1
2
sudo yum remove -y docker docker-client docker-client-latest docker-common \
docker-latest docker-latest-logrotate docker-logrotate docker-engine

安装必要的依赖包

1
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

安装 Docker Engine

方法一:使用阿里云镜像源(推荐国内用户)

1
2
3
4
5
6
7
8
# 添加阿里云 Docker 镜像源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 更新 yum 缓存
sudo yum makecache fast

# 安装 Docker CE(包含 docker-ce、docker-ce-cli 和 containerd.io)
sudo yum install -y docker-ce docker-ce-cli containerd.io

方法二:使用 Docker 官方源

1
2
3
4
5
6
7
8
# 添加 Docker 官方 YUM 仓库
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 更新 yum 缓存
sudo yum makecache fast

# 安装 Docker CE
sudo yum install -y docker-ce docker-ce-cli containerd.io

启动 Docker 服务

1
2
3
4
5
6
7
8
9
# 启动 Docker 服务
sudo systemctl start docker

# 设置 Docker 服务开机自启
sudo systemctl enable docker

# 验证 Docker 是否正常运行
sudo docker --version
sudo docker run hello-world

配置 Docker 镜像加速器

为了提高镜像拉取速度,建议配置国内镜像加速器。

创建 Docker 配置文件目录

1
sudo mkdir -p /etc/docker

配置镜像加速器

阿里云镜像加速器(需要登录阿里云获取专属地址)

1
2
3
4
5
6
7
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://your-id.mirror.aliyuncs.com"
]
}
EOF

或使用其他公共镜像源

1
2
3
4
5
6
7
8
9
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.mirrors.ustc.edu.cn",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
EOF

重启 Docker 服务使配置生效

1
2
sudo systemctl daemon-reload
sudo systemctl restart docker

验证镜像加速器配置

1
sudo docker info | grep -A 10 "Registry Mirrors"

配置用户权限(可选)

将当前用户添加到 docker 用户组,以便无需 sudo 即可运行 Docker 命令:

1
2
3
4
5
6
7
8
9
10
11
# 创建 docker 用户组(如果不存在)
sudo groupadd docker

# 将当前用户添加到 docker 用户组
sudo usermod -aG docker $USER

# 重新登录或使用以下命令使组权限生效
newgrp docker

# 验证(无需 sudo)
docker run hello-world

安装 Docker Compose

方法一:使用 Docker Compose V2 插件(推荐)

Docker Compose V2 作为 Docker CLI 插件提供,是官方推荐的方式:

1
2
3
4
5
# 安装 Docker Compose 插件
sudo yum install -y docker-compose-plugin

# 验证安装
docker compose version

使用方式:docker compose(注意是 compose 而不是 docker-compose

方法二:使用独立二进制文件(传统方式)

1
2
3
4
5
6
7
8
9
10
11
12
# 下载最新版本的 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" \
-o /usr/local/bin/docker-compose

# 添加执行权限
sudo chmod +x /usr/local/bin/docker-compose

# 创建软链接(可选,为了兼容旧命令)
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

# 验证安装
docker-compose --version

验证安装

检查 Docker 版本

1
2
docker --version
docker info

检查 Docker Compose 版本

1
2
3
4
5
# 如果使用插件方式
docker compose version

# 如果使用独立二进制方式
docker-compose --version

运行测试容器

1
docker run hello-world

常用 Docker 命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 查看 Docker 信息
docker info

# 查看运行中的容器
docker ps

# 查看所有容器(包括已停止的)
docker ps -a

# 查看本地镜像
docker images

# 拉取镜像
docker pull <image-name>

# 运行容器
docker run -d --name <container-name> <image-name>

# 停止容器
docker stop <container-name>

# 启动已停止的容器
docker start <container-name>

# 删除容器
docker rm <container-name>

# 删除镜像
docker rmi <image-name>

常见问题排查

1. Docker 服务无法启动

1
2
3
4
5
# 查看 Docker 服务状态
sudo systemctl status docker

# 查看 Docker 日志
sudo journalctl -u docker

2. 权限 denied 错误

确保用户已添加到 docker 用户组,并重新登录:

1
2
sudo usermod -aG docker $USER
newgrp docker

3. 镜像拉取缓慢

检查镜像加速器配置是否正确:

1
2
cat /etc/docker/daemon.json
sudo systemctl restart docker

卸载 Docker(如需要)

1
2
3
4
5
6
7
8
9
10
# 停止 Docker 服务
sudo systemctl stop docker

# 卸载 Docker 包
sudo yum remove -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 删除镜像、容器、卷和配置文件
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
sudo rm -rf /etc/docker

参考资源

0%