Container Manager
Container Manager เป็นเครื่องมือจัดการคอนเทนเนอร์แบบกราฟิกเต็มรูปแบบที่ใช้ Docker Engine เป็นพื้นฐาน รองรับขั้นตอนการทำงานทั้งหมดตั้งแต่การค้นหาและดาวน์โหลดอิมเมจไปจนถึงการสร้างและกำหนดค่าคอนเทนเนอร์ พร้อมความสามารถในการจัดวางคอนเทนเนอร์หลายตัวด้วย docker-compose ด้วยเบราว์เซอร์ คุณสามารถปรับใช้แอปพลิเคชันต่างๆ เช่น บริการมัลติมีเดีย การดาวน์โหลดแบบออฟไลน์ และไดรฟ์คลาวด์ส่วนตัวได้เสร็จสรรพในที่เดียว ทำให้การจัดการคอนเทนเนอร์เข้าถึงได้ง่ายเพียงปลายนิ้ว
- หากต้องการใช้แอปพลิเคชัน Container Manager โปรดติดตั้ง Docker Engine ก่อน
- แอปพลิเคชันนี้เดิมมีชื่อว่า Docker Manager ได้เปลี่ยนชื่อเป็น Container Manager ตั้งแต่เวอร์ชัน v2.2.025
ภาพรวม
ในหน้า Overview คุณสามารถเข้าใจสถานะแบบเรียลไทม์ของโปรเจกต์และคอนเทนเนอร์ได้อย่างรวดเร็ว เพื่อให้มั่นใจว่าบริการทำงานอย่างเสถียร ในขณะเดียวกัน หน้านี้ยังแสดงการใช้ทรัพยากรของโปรเจกต์และคอนเทนเนอร์ที่กำลังทำงานอย่างชัดเจน ทำให้คุณเห็นภาพได้ในพริบตา
หน้า Overview ประกอบด้วยข้อมูลหลักดังต่อไปนี้:
- Docker Engine Status: แสดงว่า Docker Engine ได้รับการติดตั้งและเปิดใช้งานหรือไม่ หากไม่ได้ติดตั้งหรือไม่ได้เปิดใช้งาน หน้าจะแจ้งว่า "Docker Engine is not installed or not enabled";
- CPU Usage: แสดงการใช้งาน CPU ทั้งหมดและเปอร์เซ็นต์สำหรับ Docker;
- RAM Usage: แสดงการใช้หน่วยความจำ Docker ทั้งหมดและอัตราการใช้งาน;
- Resource Statistics Charts: แสดงแนวโน้มการใช้งาน CPU และหน่วยความจำในรูปแบบกราฟิก;
- Container Running Overview: แสดงสถิติจำนวนคอนเทนเนอร์ที่กำลังทำงาน/หยุดทำงาน จะแจ้งเตือนอย่างเด่นชัดเมื่อคอนเทนเนอร์ทำงานผิดปกติ;
- Image Statistics: แสดงจำนวนอิมเมจภายในเครื่องทั้งหมด
โปรเจกต์
ด้วยโปรเจกต์ คุณสามารถกำหนดแอปพลิเคชันหลายคอนเทนเนอร์ได้อย่างง่ายดายโดยใช้ไฟล์กำหนดค่าเดียว (Docker-compose.yml) และใช้คำสั่งเดียวเพื่อสร้างและเริ่มบริการทั้งหมดตามการกำหนดค่าในไฟล์ YML
จัดการโปรเจกต์
ในหน้า Projects คุณสามารถดำเนินการต่อไปนี้กับโปรเจกต์:
- Add: เพิ่มโปรเจกต์ใหม่;
- Start/Stop: เริ่ม/หยุดโปรเจกต์ที่เลือก;
- Restart: รีสตาร์ทโปรเจกต์ที่เลือก;
- Edit: แก้ไขโปรเจกต์ที่เลือก โปรเจกต์จะถูกบังคับหยุดในระหว่างการแก้ไข;
- Delete: ลบโปรเจกต์ที่เลือก;
- Force Stop: บังคับหยุดโปรเจกต์ที่เลือก;
- Clear: หยุดและลบคอนเทนเนอร์บริการ เครือข่าย อิมเมจ และดาต้าทั้งหมด;
- Build: สร้างโปรเจกต์ใหม่ผ่านไฟล์ YAML ที่กำหนดค่าไว้ในโปรเจกต์
สร้างโปรเจกต์
การสร้างโปรเจกต์ในฟีเจอร์โปรเจกต์:
- ในอินเทอร์เฟซแอปพลิเคชัน Container Manager คลิก "Projects" ในแถบนำทางด้านซ้าย;
- คลิกไอคอน "Add" ที่มุมขวาบน หรือปุ่ม "Add Now" บนหน้า เพื่อเปิดกล่องโต้ตอบ Create Project;
- ตั้งชื่อโปรเจกต์ เส้นทางโปรเจกต์ และกำหนดค่าไฟล์กำหนดค่า (docker-compose.yml) ตามลำดับ
มีสามวิธีในการกำหนดค่าไฟล์กำหนดค่า:
• Local TNAS — เลือกไฟล์ภายในเครื่องของ TNAS สำหรับการกำหนดค่า
• Your Computer — อัปโหลดไฟล์กำหนดค่าจากคอมพิวเตอร์ของคุณสำหรับการกำหนดค่า
• Create YAML File — เปิดโปรแกรมแก้ไขเพื่อสร้าง docker-compose.yml - ตรวจสอบความถูกต้องของ YAML
- หลังจากตรวจสอบผ่านแล้ว คลิกปุ่ม Apply
- การตรวจสอบความถูกต้องของ YAML จะตรวจสอบเนื้อหาและรูปแบบของ docker-compose.yml ในโปรแกรมแก้ไข หากเนื้อหาว่างเปล่าหรือรูปแบบไม่ถูกต้อง จะไม่สามารถคลิกปุ่ม "Apply" ได้ โปรดแก้ไขไฟล์ docker-compose.yml ของคุณตามคำแนะนำ
- หากไฟล์กำหนดค่า Compose ถูกลบ หน้าจะแสดงข้อความแจ้ง
จะดูสาเหตุของความล้มเหลวในการสร้างโปรเจกต์อย่างรวดเร็วได้อย่างไร?
เมื่อการสร้างโปรเจกต์ล้มเหลว คุณสามารถคลิกที่สถานะโปรเจกต์ "Creation Failed" เพื่อดูบันทึกข้อผิดพลาด
คอนเทนเนอร์
คอนเทนเนอร์คืออินสแตนซ์ที่กำลังทำงานของอิมเมจ Docker เป็นการแสดงแบบไดนามิกของอิมเมจ ซึ่งสามารถเริ่ม หยุดชั่วคราว หยุด และลบได้ การสร้างคอนเทนเนอร์ต้องใช้อิมเมจ หากคุณยังไม่มีอิมเมจใดๆ คุณสามารถไปที่หน้า Registry เพื่อดาวน์โหลดอิมเมจที่อัปโหลดโดยนักพัฒนาโอเพนซอร์ส
จัดการคอนเทนเนอร์
ในหน้า Containers คุณสามารถดำเนินการต่อไปนี้กับคอนเทนเนอร์:
- Add: เลือกอิมเมจเพื่อสร้างคอนเทนเนอร์;
- Start/Stop: เริ่ม/หยุดคอนเทนเนอร์;
- Restart: รีสตาร์ทคอนเทนเนอร์ที่กำลังทำงาน;
- Edit: แก้ไขการกำหนดค่าคอนเทนเนอร์;
- Delete: ลบคอนเทนเนอร์ที่เลือก;
- Force Stop: บังคับหยุดคอนเทนเนอร์ที่กำลังทำงาน;
- Duplicate Container: กำหนดค่าคอนเทนเนอร์ใหม่โดยการคัดลอกการกำหนดค่าของคอนเทนเนอร์ (คัดลอกเฉพาะการกำหนดค่า ไม่คัดลอกอิมเมจหรือข้อมูล พอร์ตจะถูกจับคู่ใหม่อัตโนมัติ);
- Export: ส่งออกคอนเทนเนอร์ที่เลือกเป็นไฟล์ .tar รองรับสองโหมด: "Export Container" และ "Export Container Settings Only";
- Import: เลือกไฟล์ที่นำเข้าได้และกำหนดค่าคอนเทนเนอร์ตามไฟล์นั้น;
- Processes: สถานะการทำงานของคำสั่งที่ดำเนินการภายในคอนเทนเนอร์;
- Logs: บันทึกที่เกิดจากการทำงานของคอนเทนเนอร์;
- Terminal: อินเทอร์เฟซเทอร์มินัลของคอนเทนเนอร์ (bash)
- Send to Desktop: สร้างทางลัดคอนเทนเนอร์บนเดสก์ท็อป TOS รองรับการอัปโหลดไอคอนที่กำหนดเอง (.jpg/.png ขนาด ≤ 8MB)
- Access URL: ดู URL การเข้าถึงของคอนเทนเนอร์
สร้างคอนเทนเนอร์
การสร้างคอนเทนเนอร์ในแอปพลิเคชัน Container Manager:
- ในอินเทอร์เฟซแอปพลิเคชัน Container Manager คลิก "Images" ในแถบนำทางด้านซ้าย;
- คลิกไอคอน "Start" ที่มุมขวาบนเพื่อเปิดกล่องโต้ตอบ Create Container;
ขั้นตอนที่ 1: ข้อมูลพื้นฐาน
- Image Selection: เลือกจากอิมเมจภายในเครื่อง;
- Registry Address: ตั้งค่าแอดเดรส registry ที่กำหนดเองได้ (รวมถึงการพิสูจน์ตัวตนด้วยชื่อผู้ใช้/รหัสผ่าน);
- Container Name: รองรับตัวพิมพ์เล็ก ตัวเลข เครื่องหมายขีดกลาง
-และขีดล่าง_ต้องไม่ขึ้นต้นด้วย-หรือ_
ขั้นตอนที่ 2: ดาต้า (Volumes)
- ตั้งค่าเส้นทางการจัดเก็บข้อมูลของคอนเทนเนอร์ (ไดเรกทอรีโฮสต์ → ไดเรกทอรีคอนเทนเนอร์) เพื่อสำรองข้อมูลจากคอนเทนเนอร์ไปยังโฮสต์;
- Read/Write Permissions: ค่าเริ่มต้นคืออ่าน-เขียน สามารถสลับเป็นอ่านอย่างเดียวได้ (คอนเทนเนอร์สามารถอ่านได้เท่านั้น);
- คำแนะนำ: "ข้อมูลจะไม่ถูกลบแม้ว่าคอนเทนเนอร์จะถูกลบ"
ขั้นตอนที่ 3: เครือข่ายและพอร์ต
- Network Mode: โหมด host (ใช้ IP และพอร์ตของโฮสต์) หรือโหมด bridge (บริดจ์เสมือน กลุ่ม IP อิสระ เช่น 172.17.x.x);
- Add Port: กำหนดค่าพอร์ตภายในเครื่อง + พอร์ตคอนเทนเนอร์ + โปรโตคอล รองรับเพิ่ม/แก้ไข/ลบ จะแจ้งข้อผิดพลาดเมื่อพอร์ตถูกใช้งานแล้ว
ขั้นตอนที่ 4: ตัวแปรและคำสั่ง
- Environment Variables: ตั้งค่าตัวแปรสภาพแวดล้อมสำหรับคอนเทนเนอร์ (ชื่อตัวแปร + ค่าตัวแปร) รองรับเพิ่ม/แก้ไข/ลบ
- Execution Commands: ตั้งค่าคำสั่งเริ่มต้น (CMD) และ Entrypoint สำหรับคอนเทนเนอร์
- Capabilities (Docker Capabilities):
- System Default: คอนเทนเนอร์จะได้รับ Capabilities เริ่มต้นของระบบโดยอัตโนมัติเมื่อเริ่มทำงาน
- High Privilege Execution: เมื่อเปิดใช้งาน คอนเทนเนอร์จะทำงานด้วยสิทธิ์ ROOT (คอนเทนเนอร์แบบ privileged);
- Custom Capabilities: เพิ่ม/ลบ Linux Capabilities
ขั้นตอนที่ 5: ยืนยันการตั้งค่า
- หากคุณได้ตรวจสอบแน่ใจว่าการตั้งค่าถูกต้องแล้วแต่ยังไม่สามารถสร้างคอนเทนเนอร์โดยใช้อิมเมจจาก Docker Hub ได้สำเร็จ ลองใช้อิมเมจอื่น เนื่องจาก Docker Hub มีอิมเมจที่กำหนดเองซึ่งอัปโหลดโดยนักพัฒนาที่แตกต่างกัน และคุณภาพของอิมเมจไม่อาจรับประกันได้เสมอ
- เมื่อกำหนดค่าพอร์ตของคอนเทนเนอร์ โปรดเลือกหมายเลขพอร์ตที่แตกต่างจากที่ใช้โดยบริการอื่น เพื่อหลีกเลี่ยงความขัดแย้งของพอร์ตที่อาจทำให้เกิดข้อผิดพลาดของบริการ
- เขตเวลาที่ตั้งไว้ล่วงหน้าสำหรับคอนเทนเนอร์ส่วนใหญ่คือ UTC คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม "TZ" เพื่อเปลี่ยนเขตเวลาของคอนเทนเนอร์ โปรดไปที่นี่เพื่อดูรายการเขตเวลาในฐานข้อมูลเขตเวลา
- หากคุณต้องการดำเนินการหลายคำสั่ง โปรดคั่นด้วยเครื่องหมายจุลภาค
อิมเมจ
อิมเมจ Docker เป็นระบบไฟล์พิเศษที่นอกเหนือจากการจัดหโปรแกรม ไลบรารี ทรัพยากร การกำหนดค่า และไฟล์อื่นๆ ที่จำเป็นสำหรับการทำงานของคอนเทนเนอร์แล้ว ยังมีพารามิเตอร์การกำหนดค่าบางอย่างที่เตรียมไว้สำหรับการทำงานด้วย เป็นพื้นฐานสำหรับการสร้างและเรียกใช้คอนเทนเนอร์ Docker
อิมเมจภายในเครื่อง
แสดงรายการอิมเมจที่ดาวน์โหลดไว้ในเครื่อง TNAS แล้ว คุณสามารถจัดการอิมเมจที่ดาวน์โหลดทั้งหมดผ่านฟีเจอร์อิมเมจและใช้อิมเมจเพื่อสร้างคอนเทนเนอร์
จัดการอิมเมจภายในเครื่อง
ในหน้า Local Images คุณสามารถดำเนินการต่อไปนี้กับอิมเมจภายในเครื่อง:
- Start: เริ่มอิมเมจที่เลือกและกำหนดค่าคอนเทนเนอร์ที่สอดคล้องกัน;
- Import: นำเข้าอิมเมจที่จัดเก็บไว้ในคอมพิวเตอร์ของคุณหรือบน NAS;
- Export: ส่งออกอิมเมจที่เลือกไปยังโฟลเดอร์บน NAS;
- Delete: ลบอิมเมจที่เลือก
Registry
โหลดรายการอิมเมจจาก registry ของอิมเมจ ใช้ registry อิมเมจอย่างเป็นทางการของ Docker Hub โดยค่าเริ่มต้น พร้อมรองรับแอดเดรสที่กำหนดเอง
Image Registry
- Add Registry: เพิ่มแหล่ง registry อิมเมจใหม่ รองรับการกำหนดค่าแอดเดรส registry ชื่อผู้ใช้ และรหัสผ่านสำหรับการพิสูจน์ตัวตน;
- Edit Registry: แก้ไขข้อมูล registry อิมเมจที่มีอยู่;
- Delete Registry: ลบ registry อิมเมจที่กำหนดเอง (Docker Hub ที่เป็นค่าเริ่มต้นของระบบไม่สามารถลบได้);
- Set Accelerator: กำหนดค่าพร็อกซี่แคช registry อิมเมจของ Docker เพื่อแก้ปัญหาการดึงอิมเมจที่ช้าหรือล้มเหลวอันเนื่องมาจากปัญหาเครือข่าย;
- Enable/Disable Registry: สลับแอดเดรสการโหลด registry
เครือข่าย
โมดูล Network ใช้สำหรับจัดการเครือข่ายของคอนเทนเนอร์ Docker รองรับการสร้างและกำหนดค่าเครือข่ายที่กำหนดเอง
จัดการเครือข่าย
ในหน้า Network คุณสามารถดำเนินการต่อไปนี้กับเครือข่าย:
- Add Network: สร้างเครือข่าย Docker ที่กำหนดเองใหม่;
- Delete: ลบเครือข่ายที่กำหนดเองที่เลือก;
- Settings/Details: ดูลายละเอียดเครือข่ายและจัดการคอนเทนเนอร์ที่เชื่อมต่อกับเครือข่ายที่เลือก
สร้างเครือข่าย
รายการต่อไปนี้สามารถกำหนดค่าได้เมื่อสร้างเครือข่าย:
| Configuration Item | Description |
|---|---|
| Network Name | รองรับตัวอักษร ตัวเลข ตัวเชื่อม - _ |
| Driver | ค่าเริ่มต้น bridge (รองรับไดรเวอร์ที่กำหนดเอง) |
| IP Configuration Mode | อัตโนมัติ (DHCP) / กำหนดค่าเอง |
| IPv4 Subnet | รูปแบบ CIDR เช่น 172.20.0.0/16 |
| IPv4 Gateway | เช่น 172.20.0.1 |
| IPv4 IP Range | รูปแบบ CIDR เช่น 172.20.10.128/25 |
| IPv6 Subnet | รูปแบบ CIDR เช่น fd80:ac8::/48 |
| IPv6 Gateway | เช่น fd80:ac8::1 |
| IPv6 Range | รูปแบบ CIDR เช่น fd80:ac8::/64 |
| Disable IP Masquerading | ปิดใช้งาน IP Masquerading |
| Assign Containers | เพิ่มคอนเทนเนอร์ที่มีอยู่ไปยังเครือข่ายนี้ทันที |
บันทึก
แสดงรายการบันทึกการดำเนินการทั้งหมดที่ดำเนินการในแอปพลิเคชัน Container Manager รองรับการส่งออกและจัดการบันทึก
จัดการบันทึก
ในหน้า Logs คุณสามารถดูบันทึกของงานทั้งหมด หรือเลือกงานเฉพาะเพื่อดูบันทึกได้ คุณยังสามารถกำหนดค่าการตั้งค่าต่อไปนี้สำหรับบันทึก:
- Search: ค้นหาเหตุการณ์;
- Refresh: รีเฟรชบันทึก;
- Export: ส่งออกบันทึก;
- Delete: ลบบันทึก คุณสามารถลบบันทึกทั้งหมดหรือลบบันทึกเฉพาะได้;
- Settings: ตั้งค่านโยบายการเก็บรักษาบันทึก บันทึกที่ไม่เป็นไปตามนโยบายจะถูกลบโดยอัตโนมัติ