Quelle commande met à jour uniquement les images Docker ?

Quelle est la commande pour ne mettre à jour que l’image 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

Mon scénario est le suivant :
Actuellement, lors de la construction, si une mise à jour de l’image Docker est nécessaire et que le réseau du serveur est très lent, le processus reste bloqué à l’étape de mise à jour de l’image pendant très longtemps. J’aimerais qu’il existe une commande dédiée à la mise à jour de l’image Docker, ce qui me permettrait de mettre à jour l’image à l’avance séparément, puis de construire le code en toute tranquillité. Par exemple :

./launcher pull-docker

Je sais que je pourrais créer manuellement une version fonctionnelle, mais j’aimerais vraiment que la version officielle propose cette fonctionnalité.

hmmm, la seule méthode que je connaisse consiste d’abord à mettre à jour le script de lancement :

cd /var/discourse
git pull

puis à trouver l’étiquette d’image par défaut utilisée par le lanceur :

grep -m1 '^image=' launcher

la sortie devrait ressembler à ceci :

image="discourse/base:2.0.20260915-0028"

ensuite, exécutez :

docker pull discourse/base:2.0.20260915-0028

ensuite, lorsque vous exécutez ./launcher rebuild app, je pense que le téléchargement devrait être ignoré.

lors de la reconstruction, cela devrait afficher Status: Image is up to date for discourse/base:2.0.20260915-0028…

Merci pour votre réponse. Je procède actuellement à la mise à jour de manière similaire, mais c’est assez fastidieux. J’aimerais écrire un script d’automatisation moi-même, mais je crains que cela ne soit pas compatible après une mise à jour officielle.

Tu peux le faire avec un script bash exécutable et même utiliser une tâche cron pour l’automatiser. Je ne vois pas pourquoi cela deviendrait incompatible de sitôt.

Je veux dire qu’il pourrait devenir incompatible à l’avenir, et que je devrais peut-être vérifier ce script à chaque fois, ce qui augmente indéniablement la charge de travail. Je suppose simplement le pire des cas :joy:. Bien sûr, pour résoudre le problème, il vaut mieux agir d’abord et ajuster au fur et à mesure.