2015-04-24 15 views
6

Czy jest możliwe zamontowanie wolumenu z kontenera do innego kontenera na innej ścieżce? Na przykład.Mocowanie objętości kontenera do innego kontenera na innej ścieżce

  • contA naraża Volumen /source
  • zamontowanie jej w innym pojemniku docker run --volumes-from contA -v /source/somedir:/etc/otherdir

staram się korzystać z tego z docker-compose i jwilder/nginx-proxy:

doker-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 

Jeśli Próbuję więc nie mogę zobaczyć moje pliki na /etc/nginx/vhost.d:

$ docker-compose run nginx bash         
[email protected]:/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 
[email protected]:/app# ls -l /etc/nginx/vhost.d 
total 0 
[email protected]:/app# ls -l /source/nginx/ 
total 8 
-rw-r--r-- 1 1000 staff 957 Apr 24 07:17 dockerhost.me 

Odpowiedz

1

To nie wydaje się możliwe, biorąc pod uwagę składni - v /host/path:/container/path jest zarezerwowana dla montażu ścieżkę od hosta (a nie z inny pojemnik)

to pozostawia nam z opcją dodawania do drugiego pojemnika dowiązanie symboliczne /etc/otherdir do /source/somedir (która będzie istnieć ze względu na dyrektywy --volumes-from contA)

+0

Dzięki za odpowiedź. Ok, ale to oznaczałoby, że muszę "zmodyfikować" mój drugi kontener, co jest możliwe. Ale miałem nadzieję, że nie muszę :) – sspross

+0

@sspross modifiy swój drugi plik Dockerfile rzeczywiście. Ale jeśli jest już uruchomiony, możesz po prostu dynamicznie dodać dowiązanie symboliczne ('docker exec'). – VonC

+0

Ok dzięki, nie wiedziałem tego. Ale jeśli używam aranżacji wdrażania, takiej jak tutum, nie ma "łatwego" sposobu uruchomienia 'docker exec' w jakimś" dobrym "punkcie ... Może muszę stworzyć inny obraz oparty na jwilder/nginx-proxy dla mojego project ... – sspross

Powiązane problemy