2017-08-03 4 views
0

volumes_fromを使用してコンテナAからコンテナBにパスを共有する例と、共有が完了した後にコンテナBがこのパスにアクセスする方法を示してください。docker-compose volumes_from使用例

おかげ

+0

ドッカーのバージョンは何ですか? –

答えて

4

ドキュメントでは、version 3である場合は、以下のdb-data EEコードなどという名前のボリュームを定義するためにThe top-level volumesを使用することができますし、すべてのサービスにはこのような何か、それを参照することができvolumes言ったように:

version: "3" 

services: 

    web: 
    nginx:alpine 
    ports: 
    - "80:80" 

    postgres: 
    image: postgres:9.4 
    volumes: 
     - db-data:/var/lib/db 

    backup: 
    image: postgres:9.4 
    volumes: 
     - db-data:/var/lib/backup/data 

    redis: 
    image: redis 
    ports: 
     - "6379:6379" 
    volumes: 
     - ./data:/data 

volumes: 
    db-data: 

バージョン2.0:

ボリュームサービスを定義reddis上記のコードに

version: "2" 

services: 
    web: 
    image: nginx:alpine 
    ports: 
     - "80:80" 
    volumes_from: 
     - redis:rw 
    postgres: 
    image: postgres:9.4 
    volumes: 
     - /data/webapp 
    backup: 
    image: postgres:9.4 
    volumes: 
     - /var/lib/backup/data 

    redis: 
    image: redis 
    ports: 
     - "6379:6379" 
    volumes: 
     - /data/db 

:あなたが別のサービスまたはコンテナからすべてのデータやボリュームをマウントできるように、あなたはドキュメントは、あなたがこのようなものを使用することができ、あなたのコード内でvolumes fromを言っどのようにアクセスレベルを指定する必要があります例えばwebvolumes_fromのような別のコンテナで使用することができます。ウェブサービスのように見えます。ボリュームサービスでアクセスレベルを指定します。read and write

+0

docker-composeファイル 'version 2'を使ってこれを行う方法は? 私はそれがvolumes_from構文を使用していると思います。正確な使用法を指定してください。 – JavaSa

+1

バージョン2のドッカーの例を使って更新しました。 –

+0

redis内に複数のボリュームが定義されている場合は、 'volumes_from'構文を使用して、それらのうちの1つだけを他のサービスに公開することを選択できますか? – JavaSa