Docker commit使用

有时候需要在基础镜像里面安装某些依赖,如果把命令写在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就可以看到这个镜像了

 

posted @ 2018-08-09 17:06  三只松鼠  阅读(42164)  评论(0编辑  收藏  举报