存储

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

Docker 的镜像是用一层一层的文件组成的 .. Docker 有一些存储引擎会去处理怎么样存储这些文件。 使用 docker inspect 命令可以查看镜像或者容器 .. 比如我想查看一下 centos 这个镜像 ..

这里的 Layers 就是 centos 这个镜像的几层文件 .. 这些东西都是只读的,是不能修改的 .. 我们基于这个镜像创建的自己的镜像也会共享这些文件层 ..

基于这个镜像去创建的容器也会共享这些文件层 ..

然后 Docker 会在这些层的上面为容器添加一个新的可以读写的文件层 .. 如果需要修改共享的文件层里的东西,Docker 会复制一份到这个可读写的文件层里面 ..

当我们删除掉这个容器的时候,同时也会删除掉在它的可读写的容器层上的文件 ... 下面我们去做几个测试 .. 先去创建一个带交互的容器 .. 名字是 test1 .. 用的镜像是 centos ..

在它的根目录的下面创建一个新的文件 .. echo 'hello ninghao.net' > hello.txt .. 再查看一下 cat hello.txt .. 会输出文件的内容 .. 再退出这个容器 ..

然后再用 centos 这个镜像创建一个容器 .. 名字是 test2 .. 我们可以试着输出根目录下的 hello.txt .. 提示没有找到这个文件 ..

虽然 test1 还有 test2 都是基于 centos 这个镜像创建的 .. 不过它们都会拥有各自的可读写的一个文件层 .. 新创建的文件或者被修改的已有的文件都会在这个文件层上面 .. 不会影响到镜像本身,或者其它的使用这个镜像创建的容器 ..

删除容器的时候,这些在容器层上面的文件也会被删除掉 .. 如果有些数据你想一直保存,比如 Web 服务器的日志,数据库管理系统里的数据 .. 我们可以为容器创建一个数据盘,然后把这些要长期保存的数据放到这些数据盘上 ..

存储《 Docker:存储 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点