#/bin/bash echo "您将开始制作centos dockers images: " read -p 'please input you file path': Mypath read -p 'please input your dockers images name': Mycentos_Image_Name read -p 'please input your dockers images tag': Mycentos_Image_Tag data = $(date +%y%m%d%H%M) tar cf scratch.tar --files-from /dev/null #使用 docker import 导入这个空文件到镜像 sudo docker import scratch.tar #编写Dockerfile文件 echo > $Mypath/Dockerfile <<EOF FROM scratch ADD centos-7-docker.tar.gz / LABEL org.label-schema.schema-version="1.0" \ org.label-schema.name="CentOS Base Image" \ org.label-schema.vendor="CentOS" \ org.label-schema.license="GPLv2" \ org.label-schema.build-date=$data CMD ["/bin/bash"] EOF # 创建文件夹,安装软件 mkdir vroot # 将软件安装到制定的目录 # bash 提供解释器, yum 提供yum,coreutils提供ls,pwd等命令 echo "pakage ing 。。。" && yum install -y --installroot=/root/vroot bash yum coreutils >> /dev/null # 初始化 root 用户登录环境 echo "初始化 root 用户登录环境" cp -a vroot/etc/skel/.[!.]* vroot/root/ # 修改默认 yum 源 rm -f vroot/etc/yum.repos.d/*.repo cp /etc/yum.repos.d/*.repo vroot/etc/yum.repos.d/ # 打包,要以虚拟目录作为根打包 tar -cJf centos-7-docker.tar.xz -C vroot ./ #创建镜像 docker build –t $Mycentos_Image_Name:$Mycentos_Image_Tag $Mypath/Dockerfile rm -rf vroot