web-dev-qa-db-ja.com

Docker Compose Build 1つのコンテナー

Composeを使用してdocker-compose buildを実行すると、allコンテナーが再構築されます。

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

キャッシュを使用して再構築する場合でも、これには時間がかかります。だから私の質問は:

特定のコンテナを1つだけ再構築しますか?する方法はありますか?

62

はい、サービスの名前を使用します:

docker-compose build elasticsearch
129
dnephin

docker-composeファイル内で特定のサービスを実行する場合は、@ dnephinが提案した方法と同じ方法で実行できます。

$ docker-compose.exe up -d service_name

Docker-compose.ymlファイルが次のようなものであるとします

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

!それが機能するためには、呼び出したいサービスが他のサービスに依存するべきではありません。

2
Rambou
docker-compose up -d --no-deps --build <service_name>

ソース

0
FTM

画像タグを使用して手動で行う必要があります。詳細 こちら

0
TopperH