だから私はこのリモートフォルダを持っています/mnt/shared
ヒューズ付き。時々切断されることを除いて、ほとんどが利用可能です。
実際にマウントされたフォルダ/mnt/shared
は、再接続が発生すると再び使用可能になります。
問題は、このフォルダーをdockerボリュームに入れて、アプリで使用できるようにすることです:/shared
。コンテナーを起動すると、ボリュームが使用可能になります。
ただし、その間に切断が発生した場合、/mnt/shared
ホストマシンのリポジトリが利用可能です。/shared
フォルダーにコンテナーからアクセスできません。
user@machine:~$ docker exec -it e313ec554814 bash
root@e313ec554814:/app# ls /shared
ls: cannot access '/shared': Transport endpoint is not connected
それを再び機能させるために、私が見つけた唯一の解決策はdocker restart e313ec554814
、これは私のアプリにダウンタイムをもたらすため、許容できるソリューションではありません。
だから私の質問は:
これはどういうわけか、それが再び利用可能になったときにマウントされたフォルダーに再接続しないようにするドッカーの「バグ」ですか?
コンテナ全体を再起動せずに、このタスクを手動で実行できますか?
ありがとう
私は次の解決策を試します。
次のようにボリュームをドッカーにマウントする場合:
docker run -v /mnt/shared:/shared my-image
中間ディレクトリ/mnt/base/shared
を作成して、次のようにdockerにマウントします。
ocker run -v /mnt/base/shared:/base/shared my-image
また、新しいパスを参照するようにコードを調整するか、コンテナ内に/base/shared
から/shared
へのリンクを作成します