制作一个空白镜像,并且给空白镜像安装命令,例如 ls,cp,bash等命令
1.创建一个目录
# mkdir mycp
# cd mycp
2.查看命令的目录,安装ls
# which ls
alias ls='ls --color=auto'
/usr/bin/ls
3.创建目录
# mkdir {bin,lib64,etc,home,root}
4.执行ldd命令
# ldd /usr/bin/ls |grep -oP '/lib64\S+'|cp `xargs` ./lib64
5.拷贝命令到当前mycp目录
# cp /usr/bin/cp .
6.重复上述命令,安装拷贝cp命令
# which cp
alias cp='cp -i'
/usr/bin/cp
# ldd /usr/bin/cp |grep -oP '/lib64\S+'|cp `xargs` ./lib64
cp:是否覆盖"lib64/libselinux.so.1"? cp:是否覆盖"lib64/libacl.so.1"? cp:是否覆盖"lib64/libattr.so.1"? cp:是否覆盖"lib64/libc.so.6"? cp:是否覆盖"lib64/libpcre.so.1"? cp:是否覆盖"lib64/libdl.so.2"? cp:是否覆盖"lib64/ld-linux-x86-64.so.2"? cp:是否覆盖"lib64/libpthread.so.0"?
覆盖掉重复的文件
# cp /usr/bin/cp ./
7.查看
# ls
bin cp etc home lib64 ls root
8.构建镜像
# cat Dockerfile
FROM scratch
ENV PATH=/
COPY mycp/ /
CMD ["/bash"]
ONBUILD COPY . /
# docker build -t mycp:1.0 .
9.构建成功,查看
docker images |grep mycp
欢迎一起来学习交流!