นักเทียบท่าเขียนสร้างคอนเทนเนอร์เดียว


107

การใช้ 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
...

แม้ว่าจะสร้างใหม่โดยใช้แคช แต่ก็ต้องใช้เวลา ดังนั้นคำถามของฉันคือ:

มีวิธีสร้างคอนเทนเนอร์เฉพาะขึ้นมาใหม่หรือไม่?

คำตอบ:




5

หากคุณต้องการเรียกใช้และสร้างบริการเฉพาะภายในไฟล์นักเทียบท่าเขียนของคุณคุณสามารถทำได้เช่นเดียวกับที่ @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.