欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker docker commit容器持久化

程序员文章站 2022-05-11 23:37:40
...

摘要1:https://blog.csdn.net/weixin_41790086/article/details/102932185
摘要2:https://www.cnblogs.com/shenh/p/9450163.html

docker commit

  • 注意:
  1. docker commit 命令除了学习之外,还有一些特殊的应用场合,比如被入侵后保存现场等。
  2. 镜像是多层存储,每一层是在前一层的基础上进行的修改;而容器同样也是多层存储,是在以镜像为基础层,在其基础上加一层作为容器运行时的存储层。
  3. commit:提交容器到镜像,实现容器持久化

有时候需要在基础镜像里面安装某些依赖,如果把命令写在Dockerfile里,部分依赖软件下载很慢,构建镜像的时候又会花很长的时间。所以最好是分装一个包含依赖库的新镜像。

docker提供commit来实现
比如我有一个python镜像,比较精简。缺乏freetds-dev和unixodbc-dev这两个依赖。

  • 1.先把镜像run起来
docker run -it --name python docker.io/python:3.6.4 /bin/bash
  • 2.执行安装命令
    /bin/bash进入容器内部进行交互,安装完成后,ctrl+p+q退出容器。
[email protected]:/code# apt-get install freetds-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
[email protected]:/code# apt-get install unixodbc-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
  • 3.将容器打包成镜像,执行docker commit
[[email protected] ~]# docker commit 39eaa5aa7332 python3.6.4-dev
sha256:ca46b1ed99abc1338881a55a043ee9670a66601530b3f2e63f41eb949b91e84d
相关标签: docker docker