นักเทียบท่าเขียนขึ้น / ลงเพียงภาชนะเดียว


33

ฉันไม่สามารถค้นหาวิธีการขึ้น / ลงเพียงคอนเทนเนอร์เดียวในไฟล์ docker-compose.yml ฉันสามารถเริ่มต้นและหยุดคอนเทนเนอร์เดียวแบบไม่แน่นอนได้ แต่ฉันไม่สามารถเปลี่ยนแปลงการกำหนดค่าคอนเทนเนอร์ระหว่างการรีสตาร์ทได้ (ตัวแปรสภาพแวดล้อมจุดเชื่อมต่อเป็นต้น)

ฉันหายไปนี่อะไร แนวปฏิบัติที่ดีที่สุดในกรณีนี้คืออะไร?

คำตอบ:


4

ฉันมีความต้องการเมื่อเร็ว ๆ นี้และแก้ไขมันโดยมีdocker-compose-production.ymlไฟล์แยกต่างหากเพื่อจัดการกับการปรับแต่ง จากนั้นอย่าลืมเปิดตัวด้วยdocker-compose -f docker-compose-production.yml...


มันทำงานอย่างไรเมื่อถึงเวลาต้องทำdocker-compose down? มันจะไม่ทำให้คอนเทนเนอร์ทั้งหมดที่ถูกนำขึ้นมาในไฟล์ .yml ทั้งหมดใช่หรือไม่
Jordan Morris

2
คุณสามารถทำได้docker-compose -f docker-compose-production.yml down
icarito

และคุณระบุภาชนะที่คุณต้องการจะขึ้น / ลงที่ไหน -fเป็นตัวเลือกของไฟล์เขียนไม่ใช่คอนเทนเนอร์
astrowalker

31

ฉันพบว่าสิ่งนี้มีผลเช่นเดียวกับ Docker-Compose สำหรับบริการเดียว:

docker-compose rm -f -s -v yourService

docker-compose rm

การใช้งาน: rm [ตัวเลือก] [บริการ ... ]

ตัวเลือก:
-f, - บังคับใช้อย่าถามเพื่อยืนยันการลบ
-s, - หยุดการคอนเทนเนอร์ถ้าจำเป็นก่อนที่จะลบ
-v ลบโวลุ่มที่ไม่ระบุชื่อใด ๆ ที่ติดอยู่กับตู้คอนเทนเนอร์

คุณสามารถรวมสถานะทั้งหมดไว้ใน-param เดียว:docker-compose rm -fsv yourService


ฉันคิดว่าจำหน่ายดิสก์ btw
Jordan Morris

2
คุณกรุณาอธิบายธงพวกเขาจะทำอะไรดี?
Semo

14

ฉันขอแนะนำให้คุณตรวจสอบกระทู้ที่ยอดเยี่ยมนี้ใน stackoverflow.com คำตอบอย่างรวดเร็วที่นี่เพื่อสร้างคอนเทนเนอร์เดียวและรีสตาร์ทมันคือ:

docker-compose up -d --build worker

นี่จะเป็นทางออกที่ดีหากตัวอย่างเช่นการเปลี่ยนแปลงของคุณเกี่ยวข้องกับ Dockerfile ของคุณและไม่ใช่เพียงแค่ docker-compose.ymll


7

คุณสามารถใช้ได้

$ docker-compose -f docker-compose.yml up yourService

เพื่อเริ่มเพียงบริการของคุณและการอ้างอิงทั้งหมดที่จำเป็นโดยมัน

ดังนั้นหากบริการของคุณขึ้นอยู่กับคอนเทนเนอร์ mysql คำสั่งด้านบนจะเริ่มต้นทั้งคอนเทนเนอร์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.