有时候需要在基础镜像里面安装某些依赖,如果把命令写在Dockerfile里,部分依赖软件下载很慢,构建镜像的时候又会花很长的时间。所以最好是分装一个包含依赖库的新镜像。
docker提供commit来实现
比如我有一个python镜像,比较精简。缺乏freetds-dev和unixodbc-dev这两个依赖。
1.先把镜像run起来
docker run -it --name python docker.io/python:3.6.4 /bin/bash
/bin/bash进入容器内部进行交互
2.执行安装命令
root@39eaa5aa7332:/code# apt-get install freetds-dev Reading package lists... Done Building dependency tree Reading state information... Done
root@39eaa5aa7332:/code# apt-get install unixodbc-dev Reading package lists... Done Building dependency tree Reading state information... Done
安装完成后,ctrl+p+q退出容器。
3.将容器打包成镜像,执行docker commit
[root@CentOS ~]# docker commit 39eaa5aa7332 python3.6.4-dev sha256:ca46b1ed99abc1338881a55a043ee9670a66601530b3f2e63f41eb949b91e84d
然后执行docker images就可以看到这个镜像了
以上就是详解Docker commit的使用的详细内容,更多关于Docker commit使用的资料请关注安全小天地其它相关文章!
© 版权声明
渗透云记的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
渗透云记拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!
本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。详情见本站的“免责声明”如果有侵权之处请第一时间联系我们删除。敬请谅解!E-mail:admin@encenc.com
THE END
喜欢就支持一下吧
相关推荐















请登录后查看评论内容