私のDockerコンテナはdocker-composeを使用して構築されており、次の派生物を使用してCentOS 7システムで自動的に起動します。文書化の例::
[Unit]
Description=condb container
Requires=docker.service
After=docker.service
[Service]
Restart=always
ExecStart=/usr/bin/docker start -a condb
ExecStop=/usr/bin/docker stop -t 2 condb
[Install]
WantedBy=local.target
コンテナを変更しようとするたびにサービスを停止し、docker-compose up
コンテナを作成するために実行し、サービスを開始してup
コンテナを起動したことを忘れたことを除いて、すべてがうまくいきます。
この問題に対してスクリプトを調整してコンテナを実行した後にコンテナを停止できますが、docker-compose
起動/終了には時間がかかり、コンテナを起動せずにコンテナを作成する方法があるかどうかを知りたいです(コマンドはビルドbuild
のみですup
。作成を開始するのに役立ちます)?
ベストアンサー1
docker composeのソースにはすでにcreate
注文するしかし、まだ1.5.2にはありませんし、ウェブサイトに文書化されていません。もちろん、githubソースからインストールして最新の(まだリリースされていない)機能を入手できます。
またはを使用して個々のコンテナを起動せずに、代わりにYAMLファイルでdocker-composeを実行するようにsystemd
ファイルを変更することもできます。docker
[Service]
Restart=always
ExecStart=/opt/util/docker-compose/bin/docker-compose -f /opt/docker/mongo/docker-compose.yml up --no-recreate
ExecStop=/opt/util/docker-compose/bin/docker-compose -f /opt/docker/mongo/docker-compose.yml stop
その後、使用を中止してファイルをsystemctl stop ...
変更してから使用を開始できます。ただし、結合された設定のコンテナの1つが失敗した場合、正しく再起動されるかどうかはわかりません。docker-compose.yml
systemctl start ...