docker compose 빌드 단일 컨테이너


99

Compose를 사용하면을 실행하면 모든 컨테이너 docker-compose build가 다시 빌드 됩니다 .

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

캐시를 사용하여 재 구축하는 경우에도 시간이 걸립니다. 그래서 제 질문은 :

하나의 특정 컨테이너 만 재 구축 하는 방법이 있습니까?

답변:


202

예, 서비스 이름을 사용합니다.

docker-compose build elasticsearch


3

docker-compose 파일 내에서 특정 서비스 를 실행 하고 다시 생성 하려면 @dnephin이 제안한 것과 동일한 방식으로 수행 할 수 있습니다.

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

docker-compose.yml 파일이 다음과 같다고 가정합니다.

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

이것은 작동하지 않을 것입니다. 무언가에 의존한다면 의존하는 모든 것을 실행할 것입니다.
jemiloii

실제로 질문은 다시 만드는 것에 관한 것이 었는데, @MariusVanNieuwenhuyse
Rambou

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.