天天看點

建立您的第一個docker鏡像

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