フォルダの変更時にドッカーコンテナを再起動することは、まず最初に-vコマンドの全体概念とは対照的です。あなたが本当に本当に本当に本当に本当に本当に必要な場合は、それを行う唯一の方法は、ドッカーのホストからです示唆している方法でコンテナを再起動する必要があります。あなたがホストフォルダを監視するのに使うことができ、ファイルが挿入または削除されたときにdocker restart <container_name>
コマンドをトリガーすることができるツールがいくつかあります(私の頭の上から名前を付けることができます。これらのツールはincronとinotify-toolsです。 Hereはあなたのものに類似した質問をしてくれました。
これで、ホストフォルダ内のファイルがドッカーのコンテナで変更されていないことはありません。ドッカーコンテナで使用しているプログラムが、起動後に/folder_name
フォルダのビューを更新していないことが必要です。ドッカーコンテナで実行しているプログラムを強制的に更新または更新することは可能ですか? -vコマンドはバインドマウントを介して動作し、しばらくの間ドッカーの安定した機能となっています。バインドマウントの場合、home/core/folder_name
フォルダーは、すべての実用的な目的のために、コンテナー内の/folder_name
と同じフォルダーです。
このコマンドはあなたに、コンテナ内の対話型シェルを与える
docker run -t -i -v /home/core/folder_name:/folder_name <container_name> /bin/sh
コマンドを実行します。
cd /folder_name; touch a_file
今すぐシェルまたはいくつかのファイルブラウザでのドッキングウィンドウのホスト上の/ home /コア/フォルダ名に移動します。このシェルでコマンドを発行します。ファイルa_file
が表示されます。ホスト上のそのファイルを削除し、ドッカーコンテナで実行中のシェルに戻り、ls /folder_name
を実行することができます。ファイルa_file
は存在しません。
したがって、ホスト上でファイルが変更されるたびに、コンテナを再起動するためには、inotifyまたはincronを使用するか、ドッカーコンテナで実行しているプログラムで作業してビューを更新する方法を理解する必要があります/folder_name
フォルダーの。
私はあなたの意見を持っています。もう一つの問題は、coreosにinotifyをインストールすることです。 Pythonやgccはありません。 –
coreosのパッケージマネージャを使ってpythonとgccをインストールできるはずです。理論的には、これがあなたが取るべきアプローチであれば、すべてのソフトウェアをインストールするドッカーファイルを書くべきです。 [こちら](https://docs.docker.com/engine/reference/builder/)は、dockerfilesに関するドキュメントです。 – gpwclark
この回答は、直面していた問題の理解に役立ちましたか? – gpwclark