コード変更時のdocker composeでの自動リロード


2

私はいくつかのサービスを開始していますdocker-compose

docker-compose up

コードベースに変更を加えると、コンテナの1つ(偶然build: ./にもdocker composeファイルに指定されているもの)が再起動することに気付きました。これはに起因するものと思われますがdocker-compose、ドキュメントにはこの事実への参照は見つかりません。

これは本当に原因docker-composeですか?これはどこに文書化されていますか?


それ自体はdocker-composeではありませんが、おそらくdockerコンテナで実行されているプロセスです。そのコンテナのentrypoint / cmdは何で、何を構築していますか?
ミカエルケアー

@MikaelKjærそれはgunicorn(そして実際にautoreladモードです)。しかし、なぜコンテナ内のプロセスはホストで発生する何かを見ることができるのでしょうか?ボリュームをマウントしていません
...-dangonfast

@MikaelKjærより正確に言うと、Docker gunicornによって構築されたイメージから開始されたコンテナ内のすべてを実行します。イメージはdockerによって構築され、再構築されるたびにのみ変更されます(ソースが変更された場合)。開発ホストでコードを更新しても、dockerが面倒を見ていない限り、dockerイメージには影響しません。gunicorn開発ホストのコードを変更していることを認識していません。
ダンゴンファスト

@MikaelKjær訂正:私は午前(私は申し訳ありませんが、この前に気づいていなかった)...コードのボリュームをマウントする
dangonfast

それが答えだと思います。gunicornはマウントされたコードに反応していると思います。
ミカエルケアー

回答:


2

あなたのコメントによると、ソースコードはコンテナ内にマウントされ、エントリポイントgunicornはそのソースコードを見て、それに対する変更を拾い上げます。

これは良い開発シナリオのようであり、Dockerがもたらす利点の1つです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.