有时候需要在基础镜像里面安装某些依赖,如果把命令写在Dockerfile里,部分依赖软件下载很慢,构建镜像的时候又会花很长的时间。所以最好是分装一个包含依赖库的新镜像。
docker提供commit来实现
比如我有一个python镜像,比较精简。缺乏freetds-dev和unixodbc-dev这两个依赖。
1.先把镜像run起来
1
|
docker run - it - - name python docker.io / python: 3.6 . 4 / bin / bash |
/bin/bash进入容器内部进行交互
2.执行安装命令
1
2
3
4
|
root@ 39eaa5aa7332 : / code # apt-get install freetds-dev Reading package lists... Done Building dependency tree Reading state information... Done |
1
2
3
4
|
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
1
2
|
[root@CentOS ~] # docker commit 39eaa5aa7332 python3.6.4-dev sha256:ca46b1ed99abc1338881a55a043ee9670a66601530b3f2e63f41eb949b91e84d |
然后执行docker images就可以看到这个镜像了
以上就是详解Docker commit的使用的详细内容,更多关于Docker commit使用的资料请关注服务器之家其它相关文章!
原文链接:https://www.cnblogs.com/shenh/p/9450163.html