将容器卷安装到不同路径上的另一个容器中

时间:2015-04-24 09:03:49

标签: docker docker-compose

是否可以将容器中的卷安装到另一个路径上的另一个容器中? E.g。

  • contA公开了一个志愿者/source
  • 将其安装在另一个容器docker run --volumes-from contA -v /source/somedir:/etc/otherdir

我试图在docker-composejwilder/nginx-proxy上使用此功能:

搬运工-compose.yml

myapp:
  build: .
  command: ./run.sh
  volumes:
    - /source

nginx:
  image: jwilder/nginx-proxy
  volumes_from:
    - myapp
  volumes:
    - /source/vhost.d:/etc/nginx/vhost.d:ro
    - /var/run/docker.sock:/tmp/docker.sock
  links:
    - myapp:myapp

如果我这样做,我无法在/etc/nginx/vhost.d看到我的文件:

$ docker-compose run nginx bash                                  
root@f200c1c476c7:/app# ls -l
total 32
-rw-r--r-- 1 root root 1076 Apr  9 22:10 Dockerfile
-rw-r--r-- 1 root root 1079 Apr  9 22:10 LICENSE
-rw-r--r-- 1 root root  129 Apr  9 22:10 Procfile
-rw-r--r-- 1 root root 8385 Apr  9 22:10 README.md
-rw-r--r-- 1 root root 5493 Apr  9 22:10 nginx.tmpl
root@f200c1c476c7:/app# ls -l /etc/nginx/vhost.d
total 0
root@f200c1c476c7:/app# ls -l /source/nginx/
total 8
-rw-r--r-- 1 1000 staff 957 Apr 24 07:17 dockerhost.me

1 个答案:

答案 0 :(得分:1)

考虑到语法- v /host/path:/container/path被保留用于从主机(而不是从另一个容器)安装路径,这似乎不可能

这使您可以选择在第二个容器中添加从/etc/otherdir/source/somedir的符号链接(由于--volumes-from contA指令而存在)