docker compose construire un conteneur unique


99

En utilisant Compose, si je lance docker-compose build, il reconstruira tous les conteneurs:

> docker-compose build
Building elasticsearch
Step 1 : FROM elasticsearch:2.1
 ---> a05cc7ed3f32
Step 2 : RUN /usr/share/elasticsearch/bin/plugin install analysis-phonetic
 ---> Using cache
 ---> ec07bbdb8a18
Successfully built ec07bbdb8a18
Building search
Step 1 : FROM php:5.5.28-fpm
 ---> fcd24d1058c0
...

Même lors de la reconstruction à l'aide du cache, cela prend du temps. Ma question est donc:

Existe-t-il un moyen de reconstruire un seul conteneur spécifique?

Réponses:


202

Oui, utilisez le nom du service:

docker-compose build elasticsearch


3

si vous souhaitez exécuter et recréer un service spécifique dans votre fichier docker-compose, vous pouvez le faire de la même manière que @dnephin proposé, comme

$ docker-compose up -d --force-recreate --no-deps --build service_name

Supposons que votre fichier docker-compose.yml ressemble à

version: '3'
services:
  service_1:
      .....
  service_2:
      .....

Cela ne fonctionnerait pas, si cela dépend de quelque chose, il exécuterait tout ce dont il dépend.
jemiloii

En effet, la question portait sur la recréation de cela, j'ai mis à jour la réponse @MariusVanNieuwenhuyse
Rambou

-2

Vous devez le faire manuellement à l'aide de la balise d'image. Plus de détails ici .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.