Dockerコンテナにラベルを追加する

Discourse コンテナにラベルを追加する方法を投稿しようとしていたところ、自分で解決したので、Google 検索する際に人々がより簡単に見つけられるように、ここで共有しようと思いました。

Discourse コンテナにラベルを追加したかったので、Watchtower が毎回更新しようとするのを防ぎたかったのです。

launcher スクリプトが表示するヘルプを見落としており、--docker-args に気づきませんでした。

目的のラベルを追加するには、次のように開始する必要がありました。

./launcher start app --docker-args "--label com.centurylinklabs.watchtower.enable=false"

1 日以上 Google 検索や調査をしましたが、同じことをしたい人を見つけることができなかったので、これを投稿して、誰かの役に立てば幸いです。

「いいね!」 2

処理をより永続的なものにするために、このtraefikの例で説明されているように、docker argsをapp.ymlファイルに追加できます。

「いいね!」 1

こんにちは。

現在、PortainerでDockerコンテナを監視・更新するためにWatchtowerを使用していますが、DiscourseコンテナをWatchtowerによる更新から除外したいと考えています。
私はITの専門家ではないため、Watchtower Monitorのdocker-compose.ymlファイルに具体的にどのような変更を加えるべきか、またDiscourseの設定で他にどのような変更が必要か、簡単なチュートリアルを教えていただけますでしょうか。
どのような助けでもありがたいです。

app.ymllabels: セクションを追加すると、launcher によって Discourse コンテナが起動される際に、そのコンテナに docker ラベルを含めることができます。あるいは、./launcher start-command app を使用して、docker の起動コマンドを確認し、その同じ ENV 変数を使用して Discourse コンテナを起動することもできます。

Watchtower が Discourse を Watchtower から除外するために何を求めているのか、あるいは必要としているのかが不明なため、それ以上のことはお伝えできません。

よく考えてみると、Discourse の Docker イメージには latest というタグが付いていないことに気づきました。私の考えが正しければ、Watchtower は Discourse Docker イメージの新しいバージョンを検出できるはずです。

もし間違っていたら訂正してください。

非常にシンプルに言うと、app.yml に以下を追加しました。

# Docker の追加引数?
docker_args:
  - "--label com.centurylinklabs.watchtower.enable=false"

ドキュメントとヘルプに感謝します!

stanza のラベルを使用すると、ラベルは実行中のコンテナにのみ適用されますが、docker-args の方法では、コンテナがブートストラップ中(確信がありますが)にコンテナにラベルが含まれます。

完全なスタンザは(コピー&ペースト用に)どのようになりますか?

なので、そのままにしておきました。WatchtowerはDiscourse以外のすべてのコンテナを更新しましたが、エラーが表示されたものの、何も壊れていませんでした。
@ikarus84 これらのエラーが発生しないように正しく設定する方法はわかりましたか?