我有一个目录(可能是稍后的卷),我想与所有的交互容器共享它。我知道,本地Docker卷存储在/var/lib/docker/volumes和docker run -v下似乎是最简单的方法,但我认为Data Volume Container是一种更加标准化的方法。我不知道如何从目录或现有的另一个卷创建这个卷容器。也许这是错误的方法?
发布于 2015-10-06 09:01:50
创建和共享卷有两种方法: 1.使用Dockerfile上的Dockerfile指令。2在容器运行时指定-v <volume_name>选项,然后在每个需要共享数据的后续容器中使用--volumes-from=<container>。下面是一位前夫和后来者:
-v启动第一个容器,然后在共享卷的目录下添加一个测试文件。docker运行-it -v / Test --v-名称=t估值1 ubuntu:14.04 / bin /bash root@ca30f0f99401:/# ls bin boot dev等本地库lib64媒体mnt选择根运行sbin srv sys Test-卷===>测试-在root@ca30f0f99401:/#触摸测试-音量/1 root@ca30f0f99401:/# cat >Test-卷/1测试消息!
docker inspect ca30f0f99401 | grep -i --color -E '^|Vol'
"Mounts":
{
"Name": "025835b8b47d282ec5f27c53b3165aee83ecdb626dc36b3b18b2e128595d9134",
"Source": "/var/lib/docker/volumes/025835b8b47d282ec5f27c53b3165aee83ecdb626dc36b3b18b2e128595d9134/_data",
"Destination": "/test-volume",
"Driver": "local",
"Mode": "",
"RW": true
"Image": "ubuntu:14.04",
"Volumes": {
"/test-volume": {} }$ docker运行-it --名称=tsumage2--卷--from=tsumage1ubuntu:14.04/ bin / boot @60ff1dcebc44:/# ls bin boot dev等家庭库lib64媒体mnt opt root运行sbin srv sys测试--卷tmp usr root@60ff1dcebc44:/# cat测试--卷/1测试消息!
发布于 2015-10-06 07:30:26
通过编写一个专用的Dockerfile来创建一个数据卷容器,您将在其中:
COPY你的文件夹在里面VOLUME然后,docker create <imagename>和您得到一个(创建的)容器,只要您使用--volumes-from <containername>选项运行它们,就可以使用--volumes-from <containername>。
https://stackoverflow.com/questions/32964120
复制相似问题