6

是否可以将容器中的卷挂载到不同路径上的另一个容器中?例如

  • contA暴露一个体积/source
  • 将其安装在另一个容器中docker run --volumes-from contA -v /source/somedir:/etc/otherdir

我正在尝试将其与docker-composeand一起使用jwilder/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
4

1 回答 1

1

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

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

于 2015-04-24T09:09:46.740 回答