web-dev-qa-db-fra.com

docker composer construire un seul conteneur

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. Donc ma question est: 

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

41
Marc Pe-Pe

Oui, utilisez le nom du service:

docker-compose build elasticsearch
91
dnephin
docker-compose up -d --no-deps --build <service_name>

Source

0
FTM

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

$ docker-compose.exe up -d service_name

Supposons que votre fichier docker-compose.yml ressemble à

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

! Pour que cela fonctionne, le service que vous souhaitez appeler ne doit pas dépendre d'autres services.

0
Rambou

Vous devez le faire manuellement en utilisant la balise image. Plus de détails ici .

0
TopperH