博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是Docker Volume?
阅读量:6902 次
发布时间:2019-06-27

本文共 1558 字,大约阅读时间需要 5 分钟。

hot3.png

摘要:Docker Volume,通常翻译为数据卷,用于保存持久化数据。当我们将数据库例如MySQL运行在Docker容器中时,一般将数据通过Docker Volume保存在主机上,这样即使删除MySQL容器,数据依然保存在主机上,有效保证了数据的安全性。这篇博客将通过简单的实践帮助大家理解什么是Docker Volume。 输入图片说明

本文所有命令都是在play-with-docker的在线Docker实例上执行,Docker版本为17.05.0-ce。

  1. 指定Docker Volume

使用docker run命令,可以运行一个Docker容器

docker run -itd --volume /tmp/data1:/tmp/data2 --name test ubuntu bash 基于ubuntu镜像创建了一个Docker容器。 容器的名称为test,由--name选项指定。 Docker Volume由--volume选项指定,主机的/tmp/data1目录与容器中的/tmp/data2目录一一对应。 2. 查看Docker Volume

使用docker inspect命令,可以查看Docker容器的详细信息:

docker inspect --format='{

{json .Mounts}}' test | python -m json.tool [ { "Destination": "/tmp/data2", "Mode": "", "Propagation": "", "RW": true, "Source": "/tmp/data1", "Type": "bind" } ] 使用--format选项,可以选择性查看需要的容器信息。.Mount为容器的Docker Volume信息。 python -m json.tool可以将输出的json字符串格式化显示。 Source表示主机上的目录,即/tmp/data1。 Destination为容器中的目录,即/tmp/data2。 3. 本机文件可以同步到容器

在本机/tmp/data1目录中新建hello.txt文件

touch /tmp/data1/hello.txt ls /tmp/data1/ hello.txt hello.txt文件在容器/tmp/data2/目录中可见

使用docker exec命令,可以在容器中执行命令。

docker exec test ls /tmp/data2/ hello.txt 可知,在本机目录/tmp/data1/的修改,可以同步到容器目录/tmp/data2/中。

  1. 容器文件可以同步到主机

在容器/tmp/data2目录中新建world.txt文件

docker exec test touch /tmp/data2/world.txt docker exec test ls /tmp/data2/ hello.txt world.txt world.txt文件在主机/tmp/data1/目录中可见

ls /tmp/data1/ hello.txt world.txt 可知,在容器目录/tmp/data2/的修改,可以同步到主机目录/tmp/data1/中。

  1. 结论

Docker Volume本质上是容器与主机之间共享的目录或者文件,这样Docker Volume中的数据可以在主机和容器中实时同步。使用Virtualbox创建虚拟机时,也可以配置共享目录,这与Docker Volume非常相似。

欢迎加入我们Fundebug的Docker技术交流群: 305097057。

输入图片说明

转载于:https://my.oschina.net/u/3375885/blog/916561

你可能感兴趣的文章
数据库中Schema和Database有什么区别
查看>>
nginx笔记.
查看>>
面试题35-第一个值出现依次的字符
查看>>
jquery的 $.Event()
查看>>
C# 中的值类型和引用类型一览
查看>>
PHP编写代码目的、要求、规范及细节
查看>>
浅谈JVM内存模型
查看>>
IRC僵尸网络原理
查看>>
RIPng(第三组)
查看>>
后端传给前端Long类型数据,导致精度丢失
查看>>
SpringMvc 与 Struts2的区别
查看>>
实验四 恶意代码技术
查看>>
快速打出System.out.println("");
查看>>
kermit的安装、配置、使用
查看>>
shell编程学习
查看>>
忙中记录
查看>>
Js点餐加减数量
查看>>
【转】ACM训练计划
查看>>
Design Tic-Tac-Toe
查看>>
LeetCode 477: Total Hamming Distance
查看>>