自己学Docker:8.容器的持久化
来源:互联网 发布:承蒙厚爱 却知不恭 编辑:程序博客网 时间:2024/06/01 07:21
今天继续看Docker相关的东西.
之前,去了解数据卷和数据卷容器是因为在刚开始了解Docker的工作模式时遇到了两个疑问:关于Docker数据持久化的,和Docker如何共享数据.通过对于数据卷和数据卷容器的了解,目前从整体上可以知道Docker如何共享数据和持久化数据.在不断学习的过程中,了解到Docker通过镜像创建容器时,实际上实在镜像上面加了一层读写层,我们对于Docker数据的修改都是在这个读写层发生的.
那么问题来了,如果我要创建一个web或者数据库容器,在里面安装好配置好相关软件,如tomcat或者MySQL之类的.这些更改我如何保存下来,从而可以在以后创建容器时使用?
之前的数据卷和数据卷容器都是保存了我们对于文件的更改,现在这个实际上是需要对创建的容器进行持久化,使他变成一个镜像.我们之前在使用Docker命令创建容器的时候,很多新创建的容器里都有一些安装好的软件,就是用的这个.这个实现起来也很简单,Docker给我们涉及了一个命令–commit.通过这个命令就可以实现上面的需求.
首先,先创建一个容器,
- 1
- 1
这里我就在,/use/local目录下创建一个test.txt的文件.
下面就是主角了,使用commit命令来提交容器.提交之前可以先看下本机目前有那些镜像.
- 1
- 1
- 1
- 2
- 1
- 2
通过对比可以看到,本机的镜像中多了一个REPOSITORY为mungo,TAG为v2的镜像.下面使用这个镜像来创建一个容器,看看之前/use/local目录下创建的test.txt的文件还在不.
- 1
- 1
这里要注意一下,我在使用名为mungo的镜像创建容器时后面加了一个v2,这个就是创建镜像指定的TAG,默认的TAG是latest可以不指定,如果不是就要通过:来指定.
这里可以看到,之前创建的文件还在.通过ps命令查看容器也会发现,我使用了不同的镜像来创建容器,但创建完成的容器内容是一样的.
通过上面的操作可以得知,commit命令可以将已存在容器和修改内容提交为一个新的镜像,通过这个方式同样能保存读写层内容.但是由于每次使用新的镜像创建容器时,之前的修改都在,所以commit命令虽然能实现保存读写层数据,但不适于做数据持久化.
- 自己学Docker:8.容器的持久化
- 自己学Docker:8.容器的持久化
- 自己学Docker:6.Docker的数据持久化之数据卷容器
- 自己学Docker:5.Docker的数据持久化之数据卷
- 自己学Docker:7.数据卷容器的备份、恢复
- docker 容器和镜像的持久化
- Docker容器的持久存储模式
- docker数据持久化与容器迁移
- docker容器镜像持久化
- 自己学Docker:2.容器和镜像
- docker高级应用之单机持久化固定容器IP
- Docker数据持久化与容器迁移(三)
- 自己学Docker:4.开始了解Docker的工作模式
- Docker下的数据持久化操作
- 【docker】创建自己的容器并提交至镜像中心
- docker容器和Linux的一些指定,以便自己查阅
- 《Docker——容器与容器云》:第五章 构建自己的容器云
- 自己学Docker:14.Docker使用实战:MySQL服务的创建
- 使用Python进行数字图像处理
- (一)java多线程之Thread
- 修改MFC应用程序的标题
- GStreamer的RTP实现
- opengl的坐标系统变换过程
- 自己学Docker:8.容器的持久化
- 机器学习基石 3-3 Learning with different protocol
- 消息环形队列
- volatile使用
- dubbo入门和dubbo-admin部署监控
- 欢迎使用CSDN-markdown编辑器
- 大连软件开发企业注意了 华为要在大连搞事情!
- zoj2531(格雷码)
- VMware使用ubuntu livecd进行磁盘管理