#/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