制作 CentOS 镜像通常有两种常见场景:基于官方镜像构建自定义镜像(Docker) 和 制作系统安装镜像(ISO)。下面分别说明。
# 拉取官方镜像
docker pull centos:7
# 运行容器
docker run -it centos:7 /bin/bash
在容器里安装你需要的软件:
yum install -y nginx
exit
提交为新镜像:
docker commit <容器ID> my-centos:nginx
FROM centos:7
RUN yum install -y nginx && yum clean all
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
构建镜像:
docker build -t my-centos:nginx .
适合需要自定义系统安装盘的场景。
yum install -y genisoimage createrepo
mkdir /mnt/centos
mount -o loop CentOS-7-x86_64-DVD.iso /mnt/centos
cp -r /mnt/centos /data/centosiso
编辑:
/data/centosiso/ks.cfg
示例:
auth --enableshadow --passalgo=sha512
cdrom
graphical
%packages
@^minimal
vim
%end
cd /data/centosiso
createrepo --update .
genisoimage -o centos-custom.iso \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-R -J -v -T /data/centosiso
常用工具:
virt-managervirt-installqemu-img示例:
qemu-img create -f qcow2 centos-base.qcow2 20G
virt-install \
--name centos \
--ram 2048 \
--disk path=centos-base.qcow2 \
--cdrom CentOS-7-x86_64-DVD.iso
安装完成后即可作为模板镜像使用。
如果你能说明用途(Docker / 装机 / 云平台),我可以给你更精确的方案。