[docker] docker compose 빌드 단일 컨테이너
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
...
캐시를 사용하여 재 구축하는 경우에도 시간이 걸립니다. 그래서 제 질문은 :
하나의 특정 컨테이너 만 재 구축 하는 방법이 있습니까?
답변
예, 서비스 이름을 사용합니다.
docker-compose build elasticsearch
답변
docker-compose up -d --no-deps --build <service_name>
답변
docker-compose 파일 내에서 특정 서비스 를 실행 하고 다시 생성 하려면 @dnephin이 제안한 것과 동일한 방식으로 수행 할 수 있습니다.
$ docker-compose up -d --force-recreate --no-deps --build service_name
docker-compose.yml 파일이 다음과 같다고 가정합니다.
version: '3'
services:
service_1:
.....
service_2:
.....