ห๊าา? run docker-compose ใน docker
จากความเดิมตอนที่แล้วที่ผมพยายาม run คำสั่ง docker ใน docker container ที่มี Jenkins แล้วสรุปว่า ใน container เราควรใส่แค่ docker CLI เข้าไป แต่ใช้ docker daemon จากเครื่อง host แทน
ผมพบว่า ถ้าจะ run docker-compose เราจะลง docker-compose ใน container ตรง ๆ ไม่ได้นะ ผมลองทำแล้วเจอ error ValueError: Container … does not have a com.docker.copose.container-number label
ประมาณด้านล่าง
ถ้าได้ก็ผีหลอกแหละ เพราะเราใช้ docker daemon จากเครื่อง host นี่นา (ใครงงกลับไปอ่านความเดิมตอนที่แล้วนะครับ) พอลองค้นดูก็พบวิธีหลบปัญหานี้อย่างชาญฉลาด คือไป run docker-compose ที่อยู่ใน docker แทน
ผลจากการทำแบบนี้ ทำให้คำสั่ง docker-compose (ที่ถูก run จาก docker ใน docker) เหมือนถูก run จากเครื่อง host ทำให้มันทำงานได้ตามปรกติ