Docker 从主机与容器共享目录或卷
我有一个目录(可能是以后的卷),我想与我所有的交互式容器共享。我知道,本地Docker卷存储在Docker 从主机与容器共享目录或卷,docker,share,Docker,Share,我有一个目录(可能是以后的卷),我想与我所有的交互式容器共享。我知道,本地Docker卷存储在/var/lib/Docker/volumes下,Docker run-v似乎是最简单的方法,但我认为数据卷容器是一种更标准的方法。我不知道如何从目录或现有的另一个卷创建这个卷容器。这可能是错误的方法吗?通过编写一个专用Dockerfile来创建一个数据卷容器,您可以在其中: 复制其中的文件夹 将复制的本地容器路径文件夹声明为卷 然后,docker create,您将获得一个(已创建的)容器,如果您
/var/lib/Docker/volumes
下,Docker run-v
似乎是最简单的方法,但我认为数据卷容器
是一种更标准的方法。我不知道如何从目录或现有的另一个卷创建这个卷容器。这可能是错误的方法吗?通过编写一个专用Dockerfile来创建一个数据卷容器,您可以在其中:
其中的文件夹复制
- 将复制的本地容器路径文件夹声明为
卷
然后,
docker create
,您将获得一个(已创建的)容器,如果您使用--volumes from
选项运行它们,您将获得该容器。有两种创建和共享卷的方法:1。使用Dockerfile
上的VOLUME
指令。2在容器运行时指定-v
选项,然后对需要共享数据的每个后续容器使用--volumes from=
。这是一位前男友,后面是:
-v
启动第一个容器,然后在共享卷的目录下添加一个测试文件李>
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": {} }
"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 run -it --name=testimage2 --volumes-from=testimage1 ubuntu:14.04 /bin/bash
root@60ff1dcebc44:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys test-volume tmp usr var
root@60ff1dcebc44:/# cat test-volume/1
Test Message!