自定义 CentOS Overlay 环境的实用路线
一、先明确你的目标
二、容器镜像定制 Dockerfile 路线(推荐)
docker build -t mycentos:0.1 .docker run -it mycentos:0.1FROM centos:7
MAINTAINER your_name@example.com
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y update && yum -y install -q \
vim net-tools wget gcc-c++ pcre pcre-devel zlib zlib-devel \
openssl openssl-devel patch bash-completion unzip zip && \
yum clean all
EXPOSE 80
CMD ["/bin/bash"]
docker run -d --name centos7-ssh --privileged -p 9022:22 centos:7 /usr/sbin/init,容器内 yum install -y openssh-server && systemctl enable --now sshd)。注意生产环境不建议开启 root 密码登录,优先密钥认证。三、ISO 与 KVM 定制安装镜像(无人值守)
mount -o loop CentOS-7.iso /mnt && cp -a /mnt /root/centos7_isomkisofs -o custom-centos.iso \
-b isolinux/isolinux.bin -c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \
-R -J -v -T /root/centos7_iso
qemu-img create -f qcow2 /opt/image/centos_7_9_x64_minimal.qcow2 20G
virt-install --name centos7-custom --ram 2048 --vcpus 2 \
--os-variant centos7 --arch x86_64 \
--network network=default,model=virtio \
--disk path=/opt/image/centos_7_9_x64_minimal.qcow2,format=qcow2,size=20 \
--cdrom /opt/image/custom-centos.iso \
--graphics vnc,listen=0.0.0.0,port=8888 \
--console pty,target_type=serial
四、主机层 OverlayFS 联合挂载(只读根 + 可写层)
/var/lib/overlayfs/{lower,upper,work,merged}(lower 为只读基础,upper 为可写层,work 为工作目录)。sudo mount -t overlay overlay \
-o lowerdir=/var/lib/overlayfs/lower,\
upperdir=/var/lib/overlayfs/upper,\
workdir=/var/lib/overlayfs/work \
/var/lib/overlayfs/merged
overlay /var/lib/overlayfs/merged overlay \
lowerdir=/var/lib/overlayfs/lower,upperdir=/var/lib/overlayfs/upper,workdir=/var/lib/overlayfs/work 0 0
五、Docker 容器 Overlay 网络(多主机通信)
docker network create -d overlay my_overlaydocker run -d --name app1 --network my_overlay nginxdocker network ls、docker network inspect my_overlay