การรวมกลุ่มคอนเทนเนอร์เข้ากับ Ruk-Com Cloud PaaS เป็นหนึ่งในบริการที่สำคัญและเป็นที่ต้องการมากที่สุดโดยจะนำเสนอในรูปแบบของแพลตฟอร์ม การรวมคอนเทนเนอร์เข้าด้วยกันอย่างสะดวกสบายร่วมกับการจัดการที่ยืดหยุ่นของ Ruk-Com Cloud จะดึงดูดนักพัฒนาและอนุญาตให้โฮสต์ดูแลแอปพลิเคชันทุกประเภทที่มีอยู่ใน Docker templates ได้อย่างง่ายดาย
บทความนี้จะกล่าวถึงหลักการทำงานที่สำคัญของแอปพลิเคชัน Docker ซึ่งอาจเป็นจุดสนใจสำหรับทั้งผู้เริ่มต้นและผู้พัฒนา

ในส่วนของด้านล่างนี้ จะเป็นข้อมูลเชิงลึกเกี่ยวกับวิธีการเชื่อมต่อคอนเทนเนอร์กับ Ruk-Com Cloud โดยพิจารณาจากความเป็นไปได้ทั้งภายในและภายนอกและข้อมูลคอนเทนเนอร์พื้นฐานที่จำเป็นต่อการสร้างการเชื่อมต่อคอนเทนเนอร์
วิธีการ:
- Internal Connection – การตั้งค่าการเชื่อมต่อภายในคอนเทนเนอร์
- External Connection – การเชื่อมต่อภายในเพื่อเข้าถึงคอนเทนเนอร์ภายนอก
Internal Connection
ในแต่ละคอนเทนเนอร์ของ Ruk-Com Cloud จะได้รับชื่อโดเมนภายในที่ไม่ซ้ำกันโดยอัตโนมัติและที่อยู่ IP ภายในทันทีหลังจากสร้างคอนเทนเนอร์ นอกจากนี้พารามิเตอร์เหล่านั้นยังสามารถใช้เพื่อเข้าถึงคอนเทนเนอร์ได้ ภายในขอบเขตของ cloud เดียวกัน (เช่น การสร้างการเชื่อมต่อระหว่างกันผ่านเครือข่ายภายในแพลตฟอร์ม)
1. ตัวเลือกแรกที่คุณจะต้องพิจารณาเมื่อต้องการตั้งค่าการเชื่อมต่อระหว่างคอนเทนเนอร์ คือฟังก์ชั่นการเชื่อมโยงแบบฝังตัว ซึ่งจะอนุญาตให้เชื่อมต่อคอนเทนเนอร์จาก layer ต่างๆภายใน environment เดียวกันเพื่อการย้ายข้อมูลอย่างปลอดภัย โดยข้อมูล variables จาก Docker image จะส่งไปยังผู้รับโดยไม่เผยแพร่ ports ใดๆออกไปภายนอก
ด้วยเหตุนี้ คุณเพียงเลือก layer ที่ต้องการและระบุ alias สำหรับการเชื่อมต่อ (ขณะที่ variables ที่เหมาะสมทั้งหมดจะมีคำนำหน้าระบุไว้):

หลังจากนั้นคุณสามารถอ้างอิงถึงส่วนของ Variables ของการตั้งค่าคอนเทนเนอร์และการปรับค่าต่างๆที่อยู่แยกกัน ตามความจำเป็น อย่างไรก็ตามการเปลี่ยนแปลงค่า variable ของ environment สำหรับคอนเทนเนอร์ที่เชื่อมโยงกับคอนเทนเนอร์อื่นอยู่แล้วและถูกนำไปใช้จะเกิดการอัปเดตโดยอัตโนมัติ
ในกรณีที่ต้องการสร้างการเชื่อมต่อภายในประเภทอื่นๆ (เช่น หากต้องการปรับเปลี่ยนด้วยตัวเองผ่าน configuration files) จำเป็นต้องทราบชื่อโดเมนหรือ IP ของคอนเทนเนอร์ที่แน่นอนและสามารถเข้าถึงได้ผ่านเครือข่ายภายในแพลตฟอร์ม
ข้อมูลที่เหมาะสมสามารถรับได้ 2 วิธีดังนี้:
- ผ่านการแจ้งเตือนทาง email ที่คุณได้รับหลังจากสร้าง environment โดยชื่อโดเมนภายในจะแสดงอยู่ในส่วนที่มีข้อมูลของผู้ดูแลคอนเทนเนอร์:

- ผ่าน Ruk-Com Cloud Dashboard ข้อมูลเดียวกันสามารถพบได้โดยวิธีต่อไปนี้:
- คลิกปุ่ม Open in Browser ถัดจากคอนเทนเนอร์ โดยเลือก node ที่คุณต้องการเปิดในแท็บบราวเซอร์ใหม่ ดังนั้นคุณสามารถคัดลอกโดเมนได้อย่างง่ายดายจากแถบที่อยู่
- Ip address ของ node สามารถดูได้จาก Node ID สำหรับคอนเทนเนอร์ที่ต้องการดังที่แสดงในภาพด้านล่าง


External Connection
เพื่อที่จะเข้าถึงคอนเทนเนอร์ของคุณจากแพลตฟอร์มภายนอก (เช่น จากอินเตอร์เน็ต) Ruk-Com Cloud เสนอวิธีการแก้ปัญหาดังนี้:
1. หากบริการหรือแอปพลิเคชันของคุณทำงานอยู่ในคอนเทนเนอร์ที่ฟัง port 80 จะถูกเปิดเผยอัตโนมัติไปยังเครือข่ายภายนอก (ผ่านชื่อโดเมนที่กำหนด) ผ่าน Ruk-Com Cloud Shared Load Balancer

หมายเหตุ: ในกรณีที่คอนเทนเนอร์ของคุณไม่มี IP ภายนอกแนบมาด้วย Ruk-Com Cloud จะทำการ redirect port โดยอัตโนมัติ ซึ่งหมายความว่าหากแอปพลิเคชันฟัง port ที่กำหนดเองระดับ TCP Ruk-Com Cloud ระบบจะพยายามตรวจหาโดยอัตโนมัติและส่งคำขอที้เข้ามาทั้งหมดไปยังหมายเลข port นี้ ด้วยเหตุนี้บริการหรือแอปพลิเคชันส่วนใหญ่จะพร้อมใช้งานบนอินเตอร์เน็ต ภายใต้โดเมนของ node ที่เกี่ยวข้องทันทีหลังจากสร้างเสร็จ
อย่างไรก็ตาม ในกรณีที่คุณต้องการป้องกันความเป็นไปได้ดังกล่าว คุณสามารถประกาศกฏที่เกี่ยวข้องได้ที่การตั้งค่า firewall ในคอนเทนเนอร์ของคุณ
2. สำหรับการปฏิบัติการที่ซับซ้อนมากขึ้น Ruk-Com Cloud จัดเตรียมฟังก์ชั่นปลายทางพิเศษ endpoints (ที่พร้อมใช้งานสำหรับส่วนที่มีชื่อเดียวกันของการตั้งค่าแต่ละ environment):

โดยอนุญาตให้เปิด private port ที่คุณต้องการบนคอนเทนเนอร์ผ่านการสุ่ม public port ที่ Ruk-Com Cloud Shared Load Balancer เพื่อให้สามารถเข้าถึงได้ผ่าน Access URL
3. ตัวเลือกสุดท้ายที่ให้อิสระสูงสุดคือการแนบที่อยู่ของ public IP เข้ากับคอนเทนเนอร์ (เช่น การรักษาความปลอดภัยกับการเชื่อมต่อแบบกำหนด SSL เองและการจำกัดจำนวนของการเชื่อมต่อพร้อมกัน ฯลฯ)

ด้วยวิธีดังกล่าว แอปพลิเคชันของคุณสามารถกำหนดค่าให้ฟัง port ใดก็ได้ที่คุณต้องการในลักษณะดังกล่าวเพื่อการเข้าถึงผ่านเครือข่ายภายนอก
หมายเหตุ: Public IP เป็นตัวเลือกเสริมที่ต้องชำระเงิน โดยคุณสามารถดูค่าใช้จ่ายได้เพียงวางเม้าส์ที่กล่องราคาส่วนขวาของ topology wizard หรือคลิกที่ Quotas & Pricing > Pricing > Options tab
ตอนนี้คุณสามารถใช้ประโยชน์จากตัวเลือกการเชื่อมต่อที่เหมาะสมที่สุด จากตัวเลือกต่างๆที่อธิบายไว้ข้างต้นในขณะที่ทำงานร่วมกับ Docker containers
หากคุณประสบปัญหาขณะตั้งค่าการเชื่อมต่อกับคอนเทนเนอร์ที่ Ruk-Com Cloud คุณสามารถขอความช่วยเหลือจากผู้เชี่ยวชาญทางเทคนิคได้ที่ Stackoverflow