TLDR: มันยังคงเป็นไปไม่ได้ที่ 2018-11 ; ใช้docker-compose down
หรือdocker-compose run --rm
ฉันต้องการให้คำตอบที่อัปเดตสำหรับคำถามนี้เพราะเกือบ 3 ปีต่อมา วิธีนี้จะช่วยคนอื่นในการค้นหา
ฉันมีคำถามเดียวกันและนี่คือวิธีแก้ปัญหาที่ฉันพบ (รวมถึงคำถามจากคำถาม):
ซึ่งทำสิ่งต่อไปนี้:
หยุดคอนเทนเนอร์และลบคอนเทนเนอร์เครือข่ายวอลุ่มและรูปภาพที่สร้างขึ้น
โดยค่าเริ่มต้นสิ่งเดียวที่ลบคือ:
- Containers for services defined in the Compose file
- Networks defined in the networks section of the Compose file
- The default network, if one is used
เครือข่ายและโวลุ่มที่กำหนดเป็นภายนอกจะไม่ถูกลบออก
แม้ว่าคุณจะไม่สามารถประกาศสิ่งนี้docker-compose.yml
ได้ แต่มันจะทำให้คุณรู้สึกยุ่งยาก โดยเฉพาะอย่างยิ่งกับไดรฟ์ข้อมูลและเครือข่าย
--rm - ลบคอนเทนเนอร์หลังจากรัน ถูกเพิกเฉยในโหมดเดี่ยว
รันคำสั่งแบบครั้งเดียวกับเซอร์วิส ตัวอย่างเช่นคำสั่งต่อไปนี้เริ่มบริการเว็บและรัน bash เป็นคำสั่ง
docker-compose run web bash
[... ] คำสั่งที่ส่งโดยการรันแทนที่คำสั่งที่กำหนดในการ
กำหนดค่าบริการ
[... ] คำสั่งไม่ได้สร้างพอร์ตใด ๆ ที่ระบุในการกำหนดค่าบริการ สิ่งนี้จะป้องกันการชนกันของพอร์ตด้วยพอร์ตที่เปิดอยู่แล้ว หากคุณต้องการพอร์ตของบริการที่จะสร้างและแมปไปยังโฮสต์ให้ระบุ-ธงบริการพอร์ต
-f, - บังคับใช้อย่าถามเพื่อยืนยันการลบ