Adicione um rótulo ao container Docker

Assim que estava escrevendo uma postagem perguntando como adicionar um rótulo a um contêiner do Discourse, eu descobri, então pensei em compartilhar aqui para que as pessoas possam achar mais fácil ao pesquisar.

Eu queria adicionar um rótulo ao meu contêiner do Discourse para que o Watchtower não tentasse atualizá-lo toda vez.

Eu apenas ignorei a ajuda que o script launcher imprimiu e não notei o --docker-args

Para adicionar o rótulo que eu queria, tive que iniciá-lo com o seguinte:

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

Eu estava pesquisando e procurando por mais de um dia e não consegui encontrar ninguém que quisesse fazer a mesma coisa, então pensei em postar isso e espero que alguém ache útil.

2 curtidas

Para torná-lo mais permanente, você pode adicionar os argumentos do docker ao arquivo app.yml, conforme descrito neste exemplo do traefik

1 curtida

Saudações,

Atualmente, estou usando o Watchtower para monitorar e atualizar meus contêineres Docker no Portainer. No entanto, quero excluir o contêiner Discourse de ser atualizado pelo Watchtower.
Não sou um profissional de TI, então gostaria de pedir um breve tutorial sobre o que exatamente devo alterar no meu arquivo docker-compose.yml do Watchtower Monitor e outras alterações na configuração do Discourse.
Ficarei grato por qualquer ajuda.

Você pode adicionar uma seção labels: ao seu app.yml para incluir rótulos do docker no contêiner do discourse quando ele for iniciado pelo launcher. Alternativamente, você pode usar ./launcher start-command app para ver o comando de inicialização do docker e, em seguida, usar o que quiser para usar as mesmas variáveis de ambiente para iniciar o contêiner do Discourse.

Você não diz o que o Watchtower quer ou precisa para excluir o Discourser do Watchtower, então não posso dizer mais nada.

Depois de pensar sobre isso, percebi que a imagem Docker do Discourse não está marcada como latest. Se estou pensando corretamente, o Watchtower deve ser capaz de detectar uma versão mais recente da imagem Docker do Discourse.

Por favor, corrija-me se eu estiver errado.

Para simplificar ao máximo: adicionei isto em app.yml

# algum argumento extra para o Docker?
docker_args:
  - "--label com.centurylinklabs.watchtower.enable=false"

Obrigado pela sua documentação e ajuda aqui!

Usar as labels stanza aplica as labels apenas ao contêiner em execução, enquanto a forma docker-args inclui as labels nos contêineres enquanto eles estão sendo inicializados (tenho quase certeza).

Como ficaria a estrofe completa (para copiar e colar)?

Então eu deixei seguir seu curso. O Watchtower atualizou todos os outros contêineres, exceto o Discourse. Embora tenha mostrado um erro, nada foi quebrado.
@ikarus84 Você conseguiu descobrir como configurá-lo corretamente para evitar que esses erros ocorram?