Avec docker-compose 1.19 up
docker-compose up --build --force-recreate --no-deps [-d] [<service_name>..]
Sans un ou plusieurs service_name
arguments toutes les images seront construites si elles sont manquantes et tous les conteneurs seront recréés.
Dans le menu d'aide
Options:
-d, --detach Detached mode: Run containers in the background,
print new container names. Incompatible with
--abort-on-container-exit.
--no-deps Don't start linked services.
--force-recreate Recreate containers even if their configuration
and image haven't changed.
--build Build images before starting containers.
Sans cache
Pour forcer une reconstruction à ignorer les couches mises en cache, nous devons d'abord construire une nouvelle image
docker-compose build --no-cache [<service_name>..]
Dans le menu d'aide
Options:
--force-rm Always remove intermediate containers.
-m, --memory MEM Set memory limit for the build container.
--no-cache Do not use cache when building the image.
--no-rm Do not remove intermediate containers after a successful build.
Puis recréer le conteneur
docker-compose up --force-recreate --no-deps [-d] [<service_name>..]
29 votes
docker-compose up --build
9 votes
Juste pour clarifier le commentaire supérieur :
docker-compose up --build
reconstruire tous les conteneurs. Utilisezdocker-compose up --build <service_name>
comme indiqué dans le commentaire de @denov.0 votes
docker-compose up --build <service_name>
ne fonctionne pas si vous avez un docker-compose.yml avec des conteneurs provenant d'un container-registry2 votes
docker-compose build --no-cache
lorsque vous voulez construire à partir du premier niveau.