----------------------------------------------------
创建初始的centos7.6 容器image
----------------------------------------------------
需要一个机器有一个centos7.6的yum源,自己设置默认安装进去哪些包
脚本
# cat centos76-init-image.sh
#!/bin/bash
export centos_root=/root/centos76-chroot
export rpm_repo=http://192.168.1.1/centos76
rm -rf ${centos_root}
mkdir -p ${centos_root}
yum -y --installroot=${centos_root} install yum vim vim-minimal iputils iproute procps-ng net-tools openssh* filesystem passwd
cp /etc/skel/.bash* ${centos_root}/root/
tar -C ${centos_root} -c . | docker import - centos76:v1.0
docker images可以看到显示images
----------------------------------------------------------------------
在此基础上可以进行二次生成images,下边是设置了root密码,开启sshd服务的images
----------------------------------------------------------------------
mkdir centos-init-image
cd centos-init-image/
tee > centos76.repo << EOF
[centos76]
name=centos76
baseurl=http://192.168.1.1/centos76
enabled=1
gpgcheck=0
EOF
# cat Dockerfile
FROM centos76:v1.0
ADD centos76.repo /etc/yum.repos.d
RUN rpmdb --rebuilddb && yum install -y --disablerepo=* --enablerepo=centos76 net-tools && yum clean all && ssh-keygen -q -t rsa -f /etc/ssh/ssh_host_rsa_key -N "" && ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N "" && ssh-keygen -q -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N "" && echo "abc123" | passwd --stdin root
CMD ["/usr/sbin/sshd", "-D"]
根据Dockerfile生成新的images
# docker build -t centos76:v1.1 .
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos76 v1.1 592936a6a44d 33 seconds ago 881MB
centos76 v1.0 b92bd1f5d646 12 hours ago 517MB
导出images文件拷贝到其他环境使用
# cd
# docker save centos76:v1.1 > /root/centos76-v1.1.tar.xz