複数のリンクされたコンテナを起動しています。すべてのコンテナーは、ホスト ディレクトリ /var/log/tips/ を同じ呼び出された内部ディレクトリにマウントします。最後のコンテナからのみ /var/log/tips にファイルが表示される問題:
- tipsi_solr と tipsi_erl には同じファイル セットがあります
- tipsi_web コンテナー (最後に起動されたコンテナー) には上記のファイルは表示されず、独自のファイルのみが表示されます
- ホスト ディレクトリには #2 (tipsi_web) からのファイルのみが含まれます
図を使用してコンテナを起動しています。使用される構成は次のとおりです。
solr:
build: ../tipsi_solr/
volumes:
- /var/log/tipsi:/var/log/tipsi
- /home/docker/code/tipsi/solr/collection1/data
erl:
build: ../tipsi_erl/
volumes:
- /var/log/tipsi:/var/log/tipsi
web:
build: .
volumes:
- /var/log/tipsi:/var/log/tipsi
- /etc/cert:/etc/cert
ports:
- "443:443"
- "80:80"
links:
- solr:tipsi-solr.local
- erl:tipsi-erl.local
興味深いことに、lsof は、tipsi_erl pid (ホストで起動) の存在しないファイルを表示します。
prompt:~$ sudo lsof -p 12717
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
beam.smp 12717 root 12w REG 252,0 0 9323763 /var/log/tipsi/stacked_cache_error.log
beam.smp 12717 root 13w REG 252,0 739192 9323765 /var/log/tipsi/stacked_cache_debug.log
ただし、他のアプリではアクセスできません。
ls /var/log/tipsi/stacked_cache_debug.log 22:35:29
ls: cannot access /var/log/tipsi/stacked_cache_debug.log: No such file or directory
また、Dockerfile ですべてのコンテナーの VOLUME パラメータを指定して削除しようとしましたが、うまくいきませんでした。これらのファイルが表示されない理由はありますか?