docker stack deploy
を使用して一連のサービスをデプロイした後、dockerswarmモードコマンドを使用して既存のサービスを更新することに疑問があります。私が理解した限りでは、すべてのサービスは作成時にイメージのSHA256ダイジェストに固定されているため、イメージを再構築して(同じタグで)プッシュし、docker service update
を実行しようとすると、サービスイメージはピン留めされません。更新されました(SHA256が異なっていても)。逆に、docker stack deploy
を再度実行すると、すべてのサービスが新しいイメージで更新されます。 docker service update --image repository/image:tag <service>
を使ってもサービスイメージを更新することができました。これはこれらのコマンドの正常な動作ですか、それとも私が理解していないことがありますか?
Docker17.03.1-ceを使用しています
docker stack deploy
が既存のサービスのイメージを、指定されたタグがリンクされているハッシュに更新することは、正常で予想される動作です。
タグが存在しない場合、latest
が想定されます。これは、latest
タグがほとんどの人によく理解されておらず、予期しない結果につながるため、問題になる場合があります。