2015-04-24 34 views
6

Có thể gắn ổ đĩa từ vùng chứa vào vùng chứa khác trên một đường dẫn khác không? Ví dụ.Gắn khối lượng thùng chứa vào một vùng chứa khác trên một đường dẫn khác

  • contA lộ một volumen /source
  • lắp nó vào bình chứa khác docker run --volumes-from contA -v /source/somedir:/etc/otherdir

Tôi đang cố gắng sử dụng điều này với docker-composejwilder/nginx-proxy:

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

Nếu tôi đang cố gắng như vậy, tôi không thể nhìn thấy tác phẩm của tôi tại /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 

Trả lời

1

Nó dường như không thể, xem xét các cú pháp - v /host/path:/container/path được dành riêng để gắn một đường đi từ máy chủ (chứ không phải từ một container)

Điều này khiến cho bạn tùy chọn thêm để chứa thứ hai của bạn một liên kết tượng trưng từ /etc/otherdir để /source/somedir (mà sẽ tồn tại vì chỉ thị --volumes-from contA)

+0

Cám ơn câu trả lời của bạn. Ok, nhưng điều đó có nghĩa là tôi đã "sửa đổi" container thứ hai của tôi, những gì có thể. Nhưng tôi hy vọng tôi không phải :) – sspross

+0

@sspross modifiy Dockerfile container thứ hai của bạn thực sự. Nhưng nếu nó đã chạy, bạn chỉ cần thêm liên kết động ('docker exec'). – VonC

+0

Ok cảm ơn, không biết điều đó. Nhưng nếu tôi đang sử dụng một dàn nhạc triển khai như tutum, không có cách nào 'dễ dàng' để chạy 'docker exec' tại một số điểm 'tốt' ... Có lẽ tôi phải tạo một hình ảnh khác dựa trên jwilder/nginx-proxy cho dự án ... – sspross

Các vấn đề liên quan