DockerコンテナでWordPressサイトをホストしており、これらのコンテナを常にブート時に起動するようにしたいので、手動で行う必要があります。
今まで、私はそれを普通に行う方法があるとは思わない。トリッキーな解決策は restart policy を使用することです
Sudo docker run --restart=always -d your_image
これは、シャットダウンするたびにコンテナが終了するため、ホストを起動するとドッカーが再起動されることを意味します。
既存のコンテナに再起動ポリシーを追加することは非常に一般的な使用例です。
これは、次のコマンドで実行できます。docker update --restart {no,on-failure,unless-stopped,always} container_name
Ubuntu 15はsystemdをサポートするようになったため、このマネージャーのサンプル:
someservicename.service
[Unit]
Description=Some service
Requires=docker.service
After=docker.service
[Service]
Restart=always
ExecStart=/usr/bin/docker start -a container_name
ExecStop=/usr/bin/docker stop -t 2 container_name
[Install]
WantedBy=multi-user.target
dockerサイト でさらに利用可能
追伸かなりかわいい設定:)
私がしたことは、Upstartファイルを使用することです。
Docker Webサイト にいくつかの例と他の解決策があります。
/ etc/initにそのようなファイルを作成します。
Description "My container"
start on filesystem and started docker
stop on runlevel [!2345]
respawn
script
/usr/bin/docker start -a mycontainer
end script
pre-stop script
/usr/bin/docker stop mycontainer
end script
Docker 1.2からは、 再起動ポリシー があることに注意してください。これは、Dockerサービスの実行時(たとえば、ブート後)にコンテナーを自動的に再起動するのにも役立ちます。
Personnaly、私はpuppetを使用してワークステーションをプロビジョニングし、これを使用して Dockerモジュール を自動的に作成します スタートアップスクリプト これはより完全です(起動、停止、再起動、クリーンオプション... )