在 CentOS 上运行 Docker,一般按下面步骤来(以 CentOS 7 / 8 为例,适合大多数情况)。
查看内核版本:
uname -r
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
如果是 CentOS 8,可能需要先关闭
podman冲突:
sudo yum module disable -y container-tools
sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker
sudo docker version
运行测试容器:
sudo docker run hello-world
看到 Hello from Docker! 说明成功 ✅
sudo usermod -aG docker $USER
然后 退出终端重新登录:
logout
验证:
docker ps
docker ps # 查看运行中的容器
docker ps -a # 查看所有容器
docker images # 查看镜像
docker run -d -p 80:80 nginx
docker stop 容器ID
docker rm 容器ID
原因:默认仓库冲突
✅ 解决:
sudo dnf config-manager --disable docker*
sudo dnf install -y docker-ce --nobest
查看日志:
sudo journalctl -u docker
临时关闭 SELinux(不推荐生产环境):
sudo setenforce 0
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker
systemctl enable docker
docker run hello-world
如果你告诉我:
我可以给你更精确的配置方案(比如 Docker Compose、镜像加速、生产安全配置)。