温馨提示×

centos docker怎样制作镜像

小樊
43
2026-10-08 16:48:45
栏目: 智能运维

在 CentOS 上使用 Docker 制作镜像,一般有以下几种常见方式。下面从最基础到推荐方式一步步说明。


一、前置条件(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

二、方式一:基于容器制作镜像(commit,适合学习)

1️⃣ 启动一个基础容器

docker run -it centos:7 /bin/bash

2️⃣ 在容器里安装软件

yum install -y nginx
exit

3️⃣ 提交为镜像

docker commit <容器ID> my-centos-nginx:1.0

4️⃣ 查看镜像

docker images

✅ 优点:简单
❌ 缺点:不可重现、不推荐生产使用


三、方式二:Dockerfile 制作镜像(✅ 推荐)

1️⃣ 创建工作目录

mkdir myimage && cd myimage

2️⃣ 编写 Dockerfile

FROM centos:7

RUN yum install -y nginx && yum clean all

EXPOSE 80

CMD ["nginx", "-g", "daemon off;"]

3️⃣ 构建镜像

docker build -t my-centos-nginx:1.0 .

4️⃣ 运行容器测试

docker run -d -p 8080:80 my-centos-nginx:1.0

✅ 优点:可版本控制、可重复构建
✅ 生产环境标准做法


四、方式三:基于 CentOS 系统打包成镜像(不常用)

如果你想把整个 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
  • ✅ 镜像尽量小(yum clean all)

如果你愿意,可以告诉我:

  • 是 CentOS 7 还是 Stream
  • 想打包 什么应用(Java / Nginx / Python)
  • 是 学习用还是生产用

我可以直接帮你写一份可用的 Dockerfile。

0 踩