是否可以将容器中的卷安装到另一个路径上的另一个容器中? E.g。
contA
公开了一个志愿者/source
docker run --volumes-from contA -v /source/somedir:/etc/otherdir
我试图在docker-compose
和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
答案 0 :(得分:1)
考虑到语法- v /host/path:/container/path
被保留用于从主机(而不是从另一个容器)安装路径,这似乎不可能
这使您可以选择在第二个容器中添加从/etc/otherdir
到/source/somedir
的符号链接(由于--volumes-from contA
指令而存在)