Qual comando atualiza apenas a imagem do Docker?

Qual é o comando que atualiza apenas a imagem do Docker?

/var/discourse# ./launcher -h
Usage: launcher COMMAND CONFIG [--skip-prereqs] [--docker-args STRING]
Commands:
    start:       Start/initialize a container
    stop:        Stop a running container
    restart:     Restart a container
    destroy:     Stop and remove a container
    enter:       Open a shell to run commands inside the container
    logs:        View the Docker logs for a container
    bootstrap:   Bootstrap a container for the config based on a template
    run:         Run the given command with the config in the context of the last bootstrapped image
    rebuild:     Rebuild a container (destroy old, bootstrap, start new)
    cleanup:     Remove all containers that have stopped for > 24 hours
    start-cmd:   Generate docker command used to start container

Options:
    --skip-prereqs             Don't check launcher prerequisites
    --docker-args              Extra arguments to pass when running docker
    --skip-mac-address         Don't assign a mac address
    --run-image                Override the image used for running the container

Meu cenário é o seguinte:
Agora, durante a construção, se for necessário atualizar a imagem do Docker e a rede do servidor estiver muito lenta, o processo fica travado na etapa de atualização da imagem por muito, muito tempo. Eu gostaria que houvesse um comando específico para atualizar a imagem do Docker, assim eu poderia atualizar a imagem separadamente com antecedência e, então, construir o código com tranquilidade. Por exemplo:

./launcher pull-docker

Eu sei que posso criar manualmente uma versão que funcione, mas ainda assim gostaria que a equipe oficial lançasse essa funcionalidade.

hmmm, o único jeito que eu conheço é primeiro atualizar o script do launcher:

cd /var/discourse
git pull

depois encontrar a tag de imagem padrão que o launcher está usando:

grep -m1 '^image=' launcher

a saída deve ser algo como:

image="discourse/base:2.0.20260915-0028"

aí execute:

docker pull discourse/base:2.0.20260915-0028

depois, quando você executar ./launcher rebuild app, ele deve pular o download, eu acho.

devia aparecer Status: Image is up to date for discourse/base:2.0.20260915-0028 quando você rodar o rebuild…

Obrigado pela resposta. Eu já uso um método semelhante para atualizar, mas é bastante trabalhoso. Gostaria de escrever um script de automação, mas tenho medo de que ele se torne incompatível após uma atualização oficial.

você pode fazer isso com um script bash executável e até usar uma tarefa agendada (cron job) para automatizá-lo. Não sei por que ele se tornaria incompatível tão cedo.

Quero dizer que ele pode se tornar incompatível no futuro, e eu talvez precise verificar esse script a cada vez, o que sem dúvida aumenta a carga de trabalho. Estou apenas assumindo o pior cenário :joy:. Claro, para resolver o problema, é melhor agir primeiro e ajustar conforme for necessário.