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
- 注意:
- docker commit 命令除了学习之外,还有一些特殊的应用场合,比如被入侵后保存现场等。
- 镜像是多层存储,每一层是在前一层的基础上进行的修改;而容器同样也是多层存储,是在以镜像为基础层,在其基础上加一层作为容器运行时的存储层。
- 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
上一篇: php 超长用省略号代替
下一篇: HTTP协议详解
推荐阅读
-
DockerPHP: 基于Docker容器化PHP开发环境解决方案
-
在Docker容器中使用docker命令
-
不同物理机中的Docker容器互连(Openvswitch)
-
Docker容器安装的mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'
-
Docker配置本地镜像与容器的存储位置
-
Docker容器化PHP开发环境搭建-DVWA (含xdebug调试)
-
CentOS7 Docker容器文件挂载权限
-
Docker 容器命令大全
-
使用Nginx反向代理最前端,多个Docker容器做后端。将多台服务器整合到一台服务器上
-
Docker虚拟化容器技术简介及安装/卸载