私はdocker-composeとv3を使用しています。私は、ドッキングウィンドウでボリュームをマウントしようとしている:Docker Compose - 複数のコンテナ間で指定したボリュームを共有する
./appdata:/appdata
私はボリュームとしてこれを持って、その後、複数のコンテナからそのボリュームを参照したいと思います。 volume configuration referenceは、値がない名前付きボリュームとしてdata-volume:
しか表示しないので、上記のようにはなりません。
services:
nginx:
build: ./nginx/
ports:
- 80:80
links:
- php
volumes:
- app-volume
php:
build: ./php/
expose:
- 9000
volumes:
- app-volume
volumes:
app-volume: ./appdata:/appdata
これは私を与える:
明らかERROR: In file './docker-compose.yml', volume 'app-volume' must be a mapping not a string.
私はvolumes
キー/値ペアを変更する必要がある知っているが、私ははそう、私はボリュームを共有することができ、これを変更することがかどうかはわかりませんサービス間。
私もvolumes_from
をチェックアウトしましたが、これは他のコンテナからの継承を効果的に許可します。私は誰かが彼らが望むマッピングが含まれている別のコンテナにvolumes_from
を使用したが、コンテナが決して実際には実行されないように、command: true
と設定されているのを見たことがあります。
どうすればいいですか?
注、私はは、次の作業持っているん:
nginx:
volumes:
- ./appdata:/appdata
php:
volumes:
- ./appdata:/appdata
をしかし、それは単に重複だと私は名前のボリュームが、私は
私は私の例で使用する2つの場所、ホスト1とコンテナ1があります。もともとは ' - ./appdata:/ appdata'のように見えましたが、あなたのソリューションでは、これらの値のうちの1つしか見ることができません。 – Jimbo
両方のコンテナがボリュームAFAIKに書き込むことができます。したがって、コンテナの1つから名前付きボリュームにフォルダを公開すると、他のコンテナによって表示され上書きされ、その逆もあります。それがまだ不明な場合 - 私はそれをよりよく説明しようとするために私のサンプルコードを貼り付けます – Kannaj
"正解"でなければなりません。 –