DOCKER-1-5-存储卷

1.起一个新容器b2,通过参数-v指定目录/data。进入容器,发现自动在根目录下创建了一个目录/data。另一个窗口inspect查看b2信息,volumes的值为/data。通过mounts值可以看见宿主机上的挂载地址。这里系统会自动在宿主机上创建被挂载目录。

2.直接在宿主机上的目录,创建一个测试文件test.html。在容器中的挂载目录查看,发现可以同步看到测试文件。在容器中的挂载点尝试追加写入,在宿主机上的被挂载目录中查看测试文件,同步更新为新内容。

3.也可以在-v参数中指定宿主机的被挂载目录,退出容器后再此创建,指明被挂载目录,这时如果不存在系统会自动创建。创建完成后再在宿主机上创建测试文件。在容器可以同步查看测试文件。退出后再次运行容器,改变挂载点,但被挂载目录中的测试文件依然存在。这样数据就实现了与容器生命周期的脱离而可以持久保存(也可以通过特殊指令清除,这里不进行演示)。

扫描二维码关注公众号,回复: 4452955 查看本文章

4.容器信息中有时候有层层嵌套,这时候可以使用结构化查询,通过-f参数和{{}},. 表示根,每次增加 . 表示选择下一层查询字符。这样我们就可以查询到具体的信息。

5.再起一个容器b3,并写入新的信息。在容器b2上查询挂载点的测试文件,发现已经进行了更新。由此可见两个容器间是可以共享数据的,因为数据最终是存放在宿主机上的。

6.为了解决我们处理多容器的时候需要记住路径的问题,可以先创建一个基础容器,这里我们创建infracon,后面其他容器都引用该容器的路径即可。后面创建容器nginx-0。查看两个容器的挂载地址,发现是相同的。

猜你喜欢

转载自blog.csdn.net/ligan1115/article/details/84671694