本文介绍在 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
| sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
sudo yum install -y docker-ce docker-ce-cli containerd.io
|
方法二:使用 Docker 官方源
1 2 3 4 5 6 7 8
| sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum makecache fast
sudo yum install -y docker-ce docker-ce-cli containerd.io
|
启动 Docker 服务
1 2 3 4 5 6 7 8 9
| sudo systemctl start docker
sudo systemctl enable 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
| sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker
docker run hello-world
|
安装 Docker Compose
方法一:使用 Docker Compose V2 插件(推荐)
Docker Compose V2 作为 Docker CLI 插件提供,是官方推荐的方式:
1 2 3 4 5
| 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
| 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
|
运行测试容器
常用 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 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
| sudo systemctl status 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
| sudo systemctl stop 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
|
参考资源