概要
docker run
の--restart=always
オプションを利用して、コマンド終了後にコンテナを再起動させてみたいと思います。
コマンド例
以下のように--restart=always
オプションを利用してDockerコンテナを起動しています。
ちなみにオプションの意味はこんなかんじ。
オプション | 説明 |
---|---|
always | 常に再起動する |
on-failure | 終了ステータスが0(正常)以外のときに再起動する |
on-failure:n | 終了ステータスが0(正常)以外のときにn回再起動する |
no | 再起動しない(デフォルト) |
今回はdate
コマンドを実行させてみています。
$ sudo docker run --restart=always centos date Thu Jul 12 12:10:00 UTC 2018
$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1d2785c433bd centos "date" 4 seconds ago Restarting (0) Less than a second ago vigilant_gates
再起動されて実行され続けていることがわかります。
$ sudo docker logs 1d2785c433bd Thu Jul 12 12:10:00 UTC 2018 Thu Jul 12 12:10:01 UTC 2018 Thu Jul 12 12:10:01 UTC 2018 Thu Jul 12 12:10:02 UTC 2018 Thu Jul 12 12:10:03 UTC 2018 Thu Jul 12 12:10:05 UTC 2018 Thu Jul 12 12:10:08 UTC 2018
おわりに
--restart-always
をつけて起動したコンテナはdocker stop
ではすぐに起動してきちゃうので削除しなければならない。
$ sudo docker rm 1d2785c433bd 1d2785c433bd $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

プログラマのためのDocker教科書 第2版 インフラの基礎知識&コードによる環境構築の自動化
- 作者: WINGSプロジェクト阿佐志保,山田祥寛
- 出版社/メーカー: 翔泳社
- 発売日: 2018/04/11
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (1件) を見る