docker componer compilar contenedor único


99

Usando Compose, si ejecuto docker-compose build, reconstruirá todos los contenedores:

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

Incluso cuando se reconstruye con caché, esto lleva tiempo. Entonces mi pregunta es:

¿Hay alguna forma de reconstruir solo un contenedor específico?

Respuestas:


202

Sí, use el nombre del servicio:

docker-compose build elasticsearch


3

si desea ejecutar y recrear un servicio específico dentro de su archivo docker-compose, puede hacerlo de la misma manera que propuso @dnephin, como

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

Suponga que su archivo docker-compose.yml es como

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

Esto no funcionaría, si depende de algo, ejecutará todo de lo que depende.
jemiloii

De hecho, la pregunta fue sobre recrear eso, he actualizado la respuesta @MariusVanNieuwenhuyse
Rambou

-2

Tienes que hacerlo manualmente usando la etiqueta de imagen. Más detalles aquí .

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.