Site icon PlusMagi's Blog By Pitt Phunsanit

Docker: Service Name VS container_name

ใน Docker Compose มันมีขื่ออยู่ 2 ตัวที่ใช้แทบจะเหมือน ๆ กัน คือ services: db-mariadb และ container_name: db-mariadb-dev เพราะแยกไม่ออกว่ามันต่างกันยังไง อันไหนคือ Hostname


services: ( Service Name ) db-mariadb

นี่คือ “ชื่อที่ใช้ภายในระบบ Docker Compose” ครับ


container_name: ( Container Name ) db-mariadb-dev

นี่คือ “ชื่อของ Container ที่ปรากฏบนเครื่อง Host” ครับ


ตารางเปรียบเทียบ

คุณสมบัติService Name ( db-mariadb )Container Name ( db-mariadb-dev )
ขอบเขตการใช้ใช้คุยกันเองระหว่าง Container ( Internal )ใช้เรียกจากหน้าจอ Command Line ( External / Host )
Hostnameใช้ชื่อนี้เป็น Hostname ในการต่อ Databaseไม่สามารถใช้ชื่อนี้เป็น Hostname ได้ ( โดยปกติ )
การระบุบังคับ ต้องมีไม่บังคับ ( Optional )
การ Scaleรองรับการทำหลาย Replicaไม่รองรับ ( เพราะชื่อจะซ้ำ )

สรุปสั้นๆ: services: db-mariadb คือชื่อที่เพื่อนบ้าน ( Container อื่น ) ใช้เรียกคุณ ส่วน container_name: db-mariadb-dev คือชื่อเล่นที่คุณแปะไว้หน้าบ้านให้เจ้าของบ้าน ( คุณ ) เรียกใช้ได้ง่าย ๆ ครับ


อ่านเพิ่มเติม

Exit mobile version