docker compose はコンテナを起動せずにコンテナを作成します。

docker compose はコンテナを起動せずにコンテナを作成します。

私の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.ymlsystemctl start ...

おすすめ記事