ระบบเครือข่ายใน Docker: การเชื่อมต่อและการจัดการเครือข่ายใน Docker

ระบบเครือข่ายเป็นสิ่งสำคัญ Docker ที่ช่วยให้สามารถ container  สื่อสารระหว่างกันและกับเครือข่ายภายนอกได้ นี่คือคำแนะนำโดยละเอียดเกี่ยวกับวิธีเชื่อมต่อและจัดการเครือข่ายใน Docker:

เครือข่ายบริดจ์เริ่มต้น

Docker ให้เครือข่ายเริ่มต้นที่ เรียก bridge ว่า container เมื่อสร้าง container โดยไม่ระบุเครือข่าย มันจะแนบกับ bridge เครือข่าย เริ่มต้นโดยอัตโนมัติ

Container ใน bridge เครือข่ายเดียวกันสามารถสื่อสารระหว่างกันโดยใช้ที่อยู่ IP ภายใน Docker ให้ความละเอียด DNS เพื่ออนุญาต container การสื่อสารผ่านชื่อโดเมน

Container การเชื่อมโยง

เมื่อใช้ --link ตัวเลือกนี้ คุณสามารถเชื่อมโยงสิ่งหนึ่ง container ไปยังอีกสิ่งหนึ่ง ทำให้สามารถสื่อสารระหว่างกันได้โดยใช้ container ชื่อหรือตัวแปรสภาพแวดล้อม ที่เชื่อมโยง

ตัวอย่างเช่น เมื่อเรียกใช้ container จากอิมเมจชื่อ webapp คุณสามารถลิงก์ไปยัง MySQL container ที่ตั้งชื่อ mysql ด้วยคำสั่งต่อไปนี้: docker run --name webapp --link mysql:mysql webapp-image

เครือข่ายที่กำหนดเอง

คุณสามารถสร้างเครือข่ายแบบกำหนดเอง Docker เพื่อให้ container s ภายในเครือข่ายเดียวกันสื่อสารได้

ใช้ docker network create คำสั่งเพื่อสร้างเครือข่ายแบบกำหนดเอง ตัวอย่างเช่น ในการสร้างเครือข่ายชื่อ my-network คุณสามารถใช้คำสั่ง: docker network create my-network

การเชื่อมต่อ Container กับเครือข่ายที่กำหนดเอง

เมื่อสร้าง ให้ container ใช้ --network ตัวเลือกเพื่อแนบ the container กับเครือข่ายที่กำหนดเอง

ตัวอย่างเช่น หากต้องการแนบ a container กับเครือข่าย "my-network" คุณสามารถใช้คำสั่ง: docker run --network my-network my-image

การเชื่อมต่อ Container กับเครือข่ายโฮสต์

ใช้ ตัวเลือก --publish หรือ --publish-all เพื่อเชื่อมต่อ container พอร์ตกับพอร์ตบนเครื่องโฮสต์หรือกับพอร์ตสุ่มบนโฮสต์

ตัวอย่างเช่น หากต้องการเชื่อมต่อพอร์ต 80 ของ a container กับพอร์ต 8080 บนโฮสต์ คุณสามารถใช้คำสั่ง: docker run -p 8080:80 my-image

 

ด้วยการใช้คุณสมบัติเครือข่ายใน Docker คุณสามารถจัดการการเชื่อมต่อและการสื่อสารระหว่าง container  และเครือข่ายใน Docker สภาพแวดล้อม ของคุณ สิ่งนี้มอบสภาพแวดล้อมที่ยืดหยุ่นและปรับขนาดได้สำหรับแอปพลิเคชันของคุณ ช่วยให้ components ภายใน container  สามารถโต้ตอบระหว่างกันและกับเครือข่ายภายนอกได้อย่างราบรื่น