有时候需要在基础镜像里面安装某些依赖,如果把命令写在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使用的资料请关注脚本之家其它相关文章!