web-dev-qa-db-ja.com

すべてのサービスを再起動せずにDockerスタックを更新する方法

私は、さまざまなテクノロジーDockerが展開されているSwarmクラスタを持っています。 (Zookeeper、Kafka、Elastic、StormおよびカスタムWebアプリケーション)

Webアプリケーションは途方もない変更を受け、Web Dockerが変更されるたびにスタックを更新する必要があります。ときどき、Elasticsearch画像が更新されます。

Docker stack deployを実行すると、変更もされていない既存のすべてのDockerサービスが再開されます。これはスタック全体を妨げ、アプリケーション全体のダウンタイムがあります。 Dockerスタックには更新のオプションはありません。

誰かがこれに対する解決策を持っていますか?

12
Sunil Agarwal

docker service update --imageトリックを行います。

docker service update docs

6
herm

構成を変更してスタックを再デプロイすると(docker-compose.ymlファイル)、問題が解決します https://docs.docker.com/engine/reference/commandline/stack_deploy/#extended-description を参照してください。そこで、彼らは「swarmのcomposeまたはdabファイルからスタックを作成して更新します。」と書きましたが、「docker stack update」のようなコマンドは表示されません。 '。これで問題を解決できます。

2
Amit Dighe