docker compose build single container


99

Utilizzando Compose, se corro docker-compose build, ricostruirà tutti i contenitori:

> 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
...

Anche quando si ricostruisce utilizzando la cache, questo richiede tempo. Quindi la mia domanda è:

C'è un modo per ricostruire un solo container specifico?

Risposte:


202

Sì, usa il nome del servizio:

docker-compose build elasticsearch

19
docker-compose up -d --no-deps --build <service_name>

fonte


3

se vuoi eseguire e ricreare un servizio specifico all'interno del tuo file docker-compose puoi farlo allo stesso modo proposto da @dnephin, come

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

Supponi che il tuo file docker-compose.yml sia come

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

Questo non funzionerebbe, se dipendesse da qualcosa eseguirà tutto ciò da cui dipende.
jemiloii

In effetti la domanda riguardava ricrearla, ho aggiornato la risposta @MariusVanNieuwenhuyse
Rambou

-2

Devi farlo manualmente utilizzando il tag immagine. Maggiori dettagli qui .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.