天天看点

创建您的第一个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