Appearance
CentOS 安装 Docker
本文介绍在 CentOS 系统上安装 Docker Engine 的方法。
系统要求
- CentOS 7(64位)
- CentOS 8/Stream(64位)
- CentOS 9/Stream(64位)
注意:CentOS 8 已于 2021 年 12 月停止维护。建议升级到 CentOS Stream 9 或 Rocky Linux / AlmaLinux。
通过官方 YUM 仓库安装
第一步:卸载旧版本
bash
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine第二步:安装 yum-utils 并添加 Docker 仓库
bash
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo使用阿里云镜像仓库(推荐国内用户):
bash
sudo yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo第三步:安装 Docker Engine
bash
sudo yum install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin第四步:启动并验证
bash
# 启动 Docker
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
# 验证安装
sudo docker run hello-worldCentOS 8 特别说明
CentOS 8 默认使用 podman,安装 Docker 前需要处理冲突:
bash
# 移除 podman 和 buildah
sudo dnf remove podman buildah
# 安装 Docker
sudo dnf install -y docker-ce docker-ce-cli containerd.io \
docker-buildx-plugin docker-compose-plugin安装后配置
免 sudo 使用 Docker
bash
sudo usermod -aG docker $USER
# 重新登录生效配置镜像加速
bash
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://dockerhub.icu"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "3"
}
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker防火墙配置
CentOS 默认开启 firewalld,Docker 会自动添加 iptables 规则。如果遇到容器网络问题:
bash
# 查看防火墙状态
sudo firewall-cmd --state
# 允许 Docker 相关端口(示例:允许 80 端口)
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload卸载 Docker
bash
# 卸载
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常见问题
错误:container-selinux 版本过低
bash
# 升级 container-selinux
sudo yum install -y container-selinux错误:No such file or directory(CentOS 7)
bash
# 安装额外依赖
sudo yum install -y device-mapper-persistent-data lvm2总结
CentOS 安装 Docker 使用 yum/dnf 包管理器,推荐使用阿里云镜像源提升下载速度。安装后注意配置防火墙规则,确保容器网络通信正常。