設定ファイルが変更されたときに、たとえば 'nginx'などのサービスを再起動しますか?たとえば、Puppetにnginx cfgファイルをいくつか作成し、それらをnginxコンテナにマウントされたボリュームに配置します。現時点では私はドッカー・ジェンを使用していますが、他の方法はありますか?設定が変更されたときにDockerサービスを再起動する
答えて
ドッカーコンテナは一時的であることを意味します。また、Dockerコンテナは、プロセスPID1をコンテナ内に作成することによって、実行中のプロセスを「コンテナ化」します。つまり、従来のinitシステムはありません。実際、initシステムは全くありません。そしてあなたが知っているように、あなたのコンテナ内のプロセスが終了すると、コンテナが死ぬ。一時的なコンテナを実装するという観点から問題に近づけば、サービスを再開することはありません。変更した構成を使用して新しいコンテナを作成します。 thaJeztahのコメントで述べたように、コンテナをdocker restart nginx
に設定すると、設定を更新することができます。
今、この四角いペグを丸い穴にハンマーで留める方法がいくつかあります。あなたはそれより優れています...しかし、あなたはすでにdocker-gen
があなたを近くにお迎えすることに気付きました。同様に、jwilder/nginx-proxy
imageがどのように機能しているかを知りたければ、実際にドッカーゲンがどのように機能するかを知ることができます。しかし既にあなたはすでにそれを見たことがあります。あなたはすでにdocker-gen
を使っているからです。
他のオプションは、supervisord
のようなもので靴ひねりをすることです。オンラインで行うことについてはplenty of informationです。数多くの人々がこれを過去に行ってきました。そして、それがなぜ問題を解決するのか理解できない他の人々のために、supervisordはあなたのコンテナのPID 1になり、子供のnginxプロセスを "普通のように"再開できますが、あなたのコンテナを殺すことはありません。
- 1. WiX - インストールされた製品の変更後にサービスを再起動する
- 2. DockerでApacheを再起動
- 3. ファイルが変更されたときにASP.NETを再起動する方法を教えてください。
- 4. jQueryでsetIntervalを再起動すると、ユーザーがカウンタを再起動したときに表示されます。
- 5. 変更されたときにmod_fcgidで実行されているPerlスクリプトを再起動するには?
- 6. 設定ファイルが変更されたとき、quartz.netはジョブを再設定できますか?
- 7. プライバシー設定の変更を検出したときにアプリを再起動する
- 8. サービスが複数回起動されたときに何が起こるか
- 9. コード変更時にDockerコンテナ/イメージが自動的に再構築されない
- 10. jspが変更されたときにtomcatを再起動する必要はありません
- 11. アンドロイドが再起動すると、サービスは再び呼び出されますか?
- 12. データベースが変更されたときにPHPファイルを起動しますか?
- 13. Grails - 外部化された設定再起動
- 14. WCFデュプレックスサービス。サービスの再起動時にクライアントがドロップされる
- 15. 私のウィジェット設定アクティビティを再起動すると、バックグラウンドでアプリケーションが起動されます
- 16. アプリケーションを実行すると、アプリケーションプールがIISで再起動されたときすぐに起動します
- 17. モンゴイ:「validates_uniqueness_of」検証は、特定のフィールドが変更されたときにのみ起動されます
- 18. Tomcat 7:context.xmlを変更したときの自動再起動を避ける
- 19. Android - アプリケーションを強制終了して再起動したときに設定が保存されない?
- 20. 適用方法再起動時に設定を変更しますか?
- 21. サービスの再起動時にSQL Server 2005分離レベルが変更され、停止する方法は?
- 22. C#ObservableCollection OnCollectionChangedはアイテムが変更されたときに起動しません。
- 23. アンドロイド(サービス&PhoneStateListener) - サービスが再起動するが、アプリがタスクマネージャによって殺されたときに動作していない、メモリのキラーまたは不足
- 24. Windowsバッチファイルから即座に再起動 - システム設定の変更ダイアログをバイパス
- 25. アプリケーションを再起動せずにHeroku環境変数を設定
- 26. Androidのアクティビティ向きが変わったときに再起動する
- 27. 特定のフィールドが変更されたときに再評価しないメテオール
- 28. ノード/エクスプレス/コーヒー設定で自動的に再コンパイルされないLESSファイルが変更された
- 29. アプリケーションが終了するとAndroidサービスが再起動する
- 30. バインドされたプロパティが変更されたときにマルチバインディングが起動しない
nginxを再起動するために 'supervisord'を使う必要はありません。もしあなたが 'nginx'を**コンテナにすることを考えれば; 'docker restart my-nginx-container'はnginx-containerを再起動し、nginxを起動します。ボリューム内の設定が変更された場合は、設定を再ロードします。 – thaJeztah
新しい設定データがマウントされ、ボリュームから読み込まれた場合は、コンテナを再起動してください。 – L0j1k