在 CentOS 上使用 Docker 制作镜像,一般有以下几种常见方式。下面从最基础到推荐方式一步步说明。
# 卸载旧版本
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
# 添加 Docker 源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装 Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 启动并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 验证
docker version
docker run -it centos:7 /bin/bash
yum install -y nginx
exit
docker commit <容器ID> my-centos-nginx:1.0
docker images
✅ 优点:简单
❌ 缺点:不可重现、不推荐生产使用
mkdir myimage && cd myimage
FROM centos:7
RUN yum install -y nginx && yum clean all
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
docker build -t my-centos-nginx:1.0 .
docker run -d -p 8080:80 my-centos-nginx:1.0
✅ 优点:可版本控制、可重复构建
✅ 生产环境标准做法
如果你想把整个 CentOS 系统做成镜像:
tar --numeric-owner -cpf centos.tar -C / .
cat centos.tar | docker import - my-centos-base
⚠️ 一般不推荐,除非做精简系统
docker save my-centos-nginx:1.0 -o myimage.tar
docker load -i myimage.tar
centos:7 或 centos:stream9.dockerignore如果你愿意,可以告诉我:
我可以直接帮你写一份可用的 Dockerfile。