Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

Docker :: แก้ไขปัญหาของ service ใน container ยังไม่พร้อมใช้งาน

$
0
0

ปัญหาที่พบเจอ

เมื่อนำ Docker มาใช้งานร่วมกับระบบ Continuous Integration (CI) คือ ในแต่ละ container จะต้อง start service ต่าง ๆ ขึ้นมา ซึ่งพบว่าแต่ละ service ก็มีความช้าและเร็วในการ start service ดังนั้นถ้าต้องการทดสอบระบบที่ต้องใช้ service เหล่านี้ จะไม่สามารถทดสอบได้ หรือการทดสอบพังแน่นอน เนื่องจาก service ยัง start ไม่เสร็จนั่นเอง

วิธีการแก้ไขปัญหา

สร้าง shell script สำหรับตรวจสอบ service ว่า start สำเร็จหรือไม่ ซึ่งจะทำการวน loop ตรวจสอบไปเรื่อย ๆ ดังนี้ [gist id="8105f3c0c99b070382beca2b78eebe27" file="waiting.sh"] ถ้าใช้ผ่าน docker compose ก็ใช้ไม่ยาก สามารถเขียนได้แบบนี้ [gist id="8105f3c0c99b070382beca2b78eebe27" file="compose"] เพียงเท่านี้ก็สามารถแก้ไขปัญหาที่พบเจอได้เรียบร้อย Reference Websites https://8thlight.com/blog/dariusz-pasciak/2016/10/17/docker-compose-wait-for-dependencies.html https://github.com/dadarek/docker-wait-for-dependencies

Viewing all articles
Browse latest Browse all 1997

Trending Articles