ปัญหา
มี requirement น่าสนใจ เกี่ยวกับการใช้งาน Docker
เพื่อใช้ในการพัฒนาระบบงาน
โดยต้องการให้แต่ละ container มี IP ตามที่ต้องการ (Fix IP)
จากนั้นแต่ละ container จะติดต่อกันผ่าน domain ที่เรากำหนด
การทำงานแสดงดังรูป
วิธีการแก้ไขปัญหาตามที่ต้องการด้วย Docker + Docker compose
โดยใน docker และ docker compose นั้น
จะมีความสามารถในการกำหนด
- Networks ทั้ง subnet mask และ ช่วงของ IP ที่ต้องการ
- แต่ละ container ต้องกำหนด IP ที่ต้องการได้
- พร้องกับเพิ่ม extra_hosts ของแต่ละ container มันคือการเพิ่ม mapping ในไฟล์ /etc/hosts ให้นั่นเอง
ตัวอย่างของ Docker compose file ที่ใช้งานแบบง่าย ๆ เป็นดังนี้
โดยใช้งานร่วมกับ NGINX ไปด้วย
[gist id="ce9e104ee867d913f46ecb1bbb546dac" file="docker-compose.yml"]เพียงเท่านี้ก็สามารถทำงานตามที่ต้องการได้แล้ว