Problem
マシン再起動後、自動起動してほしいコンテナってありますよね。
Portainerとか特にそうです。
そんな自動起動の方法のメモ。
Resolution
Dockerの自動起動
恐らくデフォルトで自動起動になっているとは思います。
もし、自動起動設定になっていない場合は下記。
1 | systemctl enable docker |
コンテナの自動起動
再起動を指定できるのは、Dockerのバージョン1.2.0から。
run 実行時に –restartオプション を付与することでDocker起動時にコンテナを自動で起動させることができます。
また、オプションに追加可能なポリシーは下記。
ポリシー | 内容 |
---|---|
no | 再起動しない (既定値) |
on-failure | 終了ステータスが非0の場合に再起動する |
on-failure:X | 終了ステータスが非0の場合にX回だけ再起動する |
always | 終了ステータスを無視して再起動する |
ただし、上記の場合は、runで指定する場合で、既に作成したコンテナには使えません。
作成済みコンテナのに対してrestartを設定するには下記。
1 | docker update --restart=always |