docker soạn xây dựng một vùng chứa duy nhất


99

Sử dụng Soạn thư, nếu tôi chạy docker-compose build, nó sẽ xây dựng lại tất cả các vùng chứa:

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

Ngay cả khi xây dựng lại bằng cách sử dụng bộ nhớ cache, điều này cũng mất thời gian. Vì vậy, câu hỏi của tôi là:

Có cách nào để xây dựng lại một vùng chứa cụ thể không?

Câu trả lời:


202

Có, sử dụng tên của dịch vụ:

docker-compose build elasticsearch


3

nếu bạn muốn chạytạo lại một dịch vụ cụ thể bên trong tệp soạn thảo docker của mình, bạn có thể thực hiện theo cách tương tự như @dnephin đã đề xuất, chẳng hạn như

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

Giả sử tệp docker-compost.yml của bạn giống như

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

Điều này sẽ không hoạt động, nếu nó phụ thuộc vào thứ gì đó, nó sẽ chạy mọi thứ mà nó phụ thuộc vào.
jemiloii

Thật vậy câu hỏi là về việc tạo lại điều đó, tôi đã cập nhật câu trả lời @MariusVanNieuwenhuyse
Rambou

-2

Bạn phải làm điều đó theo cách thủ công bằng cách sử dụng thẻ hình ảnh. Thêm chi tiết tại đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.