温馨提示×

centos docker怎么制作镜像

小樊
41
2026-10-05 18:01:20
栏目: 智能运维

在 CentOS 上使用 Docker 制作镜像,通常有以下几种常见方式。下面从基础到实战一步一步讲清楚。


一、准备工作(CentOS 上安装 Docker)

1. 安装 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

# 启动 Docker
sudo systemctl start docker
sudo systemctl enable docker

2. 验证安装

docker version

二、方式一:基于容器制作镜像(commit)

适合临时测试、快速生成镜像

1. 运行一个 CentOS 容器

docker run -it centos:7 /bin/bash

2. 在容器内安装软件

yum install -y httpd
exit

3. 提交为镜像

docker commit <容器ID> my-centos:httpd

4. 查看镜像

docker images

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


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

1. 创建目录

mkdir myimage
cd myimage

2. 编写 Dockerfile

FROM centos:7

RUN yum install -y httpd && yum clean all

EXPOSE 80

CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]

3. 构建镜像

docker build -t my-centos:httpd .

4. 运行容器

docker run -d -p 8080:80 my-centos:httpd

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


四、方式三:基于 CentOS 制作自己的基础镜像

示例:最小化 CentOS 镜像

FROM centos:7

RUN yum update -y && yum clean all

CMD ["/bin/bash"]

五、镜像导出与导入(离线环境常用)

导出镜像

docker save my-centos:httpd -o my-centos.tar

导入镜像

docker load -i my-centos.tar

六、推送到镜像仓库(Docker Hub / 私有仓库)

docker tag my-centos:httpd username/my-centos:httpd
docker login
docker push username/my-centos:httpd

七、常见问题

1. 没有网络?

yum install -y --disablerepo=* --enablerepo=local httpd

2. 容器启动就退出?

  • 必须前台运行进程
  • 或用 tail -f /dev/null

八、总结

方式 适用场景
docker commit 临时测试
Dockerfile 生产标准
save/load 离线部署

如果你有具体需求(比如:CentOS + Java、CentOS + Nginx、内网环境、ARM 架构),可以直接告诉我,我可以帮你写完整 Dockerfile。

0 踩