web-dev-qa-db-ja.com

CoreOSでの再起動後にDockerコンテナーを自動再起動する方法は?

OSの再起動時に、init.dまたはsystemdのようなプロセスによってDockerデーモンが自動的に再起動すると仮定すると、1つ以上のDockerコンテナを再起動する好ましい方法は何ですか?たとえば、リバースプロキシまたはデータベースサーバーの背後に複数のWebサーバーがある場合があります。

38
Richard

CoreOSはsystemdを使用して長期実行サービスを管理します。

14
Mark O'Connor

docker -d -rでデーモンを起動すると、デーモンが停止する前に実行していたすべてのコンテナが再起動されます。これは、次のリリースでデフォルトの動作になります。

32
creack

私のために働いたのは、--restart='always'をコンテナに追加することです{run -d ...}コマンド

12
hani elabed

Dockerコンテナを自動再起動したいが、実行中に--restartフラグ(デフォルトは 'no')を指定しなかった場合、docker pdate コマンドを使用して、次の3つのオプションがあります。

  • 故障時
  • 停止しない限り
  • 常に

詳細については この投稿 をご覧ください。人々はalwaysの再起動フラグに問題があり、on-failureまたはunless-stoppedoptionの使用を検討できます。

2
Frank Wong

私が見た唯一のドキュメントは Docker's Host Integration docs です。

基本的に、-r=falseでデーモンを起動し、systemd(またはCoreOS以外を使用している場合はupstart)を使用することをお勧めします。

1
docwhat