Container Desktop ทางเลือกแทน Docker Desktop
(container-desktop.com)- Container Desktop เป็น UI เดสก์ท็อปแบบฟรีและโอเพนซอร์สสำหรับจัดการ Podman, Docker และ Apple™ Container ในหน้าจอเดียว รองรับทั้ง Windows, macOS และ Linux
- สามารถสลับใช้งานได้จากตัวจัดการเดียว ทั้งเอนจินโลคัล, การเชื่อมต่อระยะไกลผ่าน SSH, Windows WSL, macOS LIMA และ Apple™ Container บน Apple silicon
- จัดการ งานปฏิบัติการ ประจำวันผ่าน UI ได้ เช่น log, สถานะ, environment variable, mount, port, สถิติ, terminal ในตัว และการเปิดเบราว์เซอร์ แยกตามคอนเทนเนอร์
- รองรับการจัดการ image, ความปลอดภัยของ image, Pod, network, secret และ volume พร้อมตั้งค่า theme, font, วิธีเริ่มต้น, tray, update และ log level
- เป็นแอปภายใต้ไลเซนส์ MIT และมีแพ็กเกจ native สำหรับ Linux, macOS, Windows รวมถึงการแจกจ่ายผ่าน Microsoft Store
บทบาทของ Container Desktop
- Container Desktop เป็น UI เดสก์ท็อปสำหรับ Podman, Docker และ Apple™ Container
- สามารถจัดการสภาพแวดล้อมคอนเทนเนอร์บน Windows, macOS และ Linux ได้ในรูปแบบเดียวกัน
- จัดการเอนจินโลคัล, รีโมตผ่าน SSH และสภาพแวดล้อม WSL ได้จาก UI เดียว
- เป็นแอปฟรีและโอเพนซอร์ส ใช้ไลเซนส์ MIT
- หากต้องการแอปที่พัฒนาโดยทีม Podman อย่างเป็นทางการ มี Podman Desktop แยกต่างหาก
เอนจินและวิธีเชื่อมต่อ
- สามารถสลับระหว่างเอนจินคอนเทนเนอร์หลายตัวและวิธีเชื่อมต่อหลายแบบได้จากตัวจัดการเดียว
- เอนจิน native บน Linux
- เอนจินแบบ virtualized
- LIMA บน macOS
- WSL บน Windows
- Apple™ Container บน Apple silicon
- การเชื่อมต่อระยะไกลผ่าน SSH
- รองรับ Podman, Docker, Apple™ Container, LIMA, WSL และ SSH
หน้าจอปฏิบัติการคอนเทนเนอร์
- ตรวจสอบ แหล่งที่มาและสถานะ ของคอนเทนเนอร์ได้
- ดู log, environment variable, mount, port และสถิติแบบ live แยกตามคอนเทนเนอร์ได้
- ทำงานพื้นฐาน เช่น start, stop และ restart ได้
- เปิด terminal console ในตัวเพื่อเข้าถึงคอนเทนเนอร์ได้
- บริการที่เปิดเผยไว้สามารถเปิดในเบราว์เซอร์ได้ทันที
- workflow เดียวกันทำงานเหมือนกันบน Podman, Docker และ Apple™ Container
การจัดการ image, Pod, network, secret และ volume
-
Images
- pull, build และ inspect image ได้
- สร้างคอนเทนเนอร์พร้อม port และ mount ที่กำหนดเองได้
-
Image security
- มีฟังก์ชันสำหรับรับรู้ช่องโหว่ที่เป็นที่รู้จักและรักษาความปลอดภัยของระบบ
-
Pods
- ตรวจสอบ log, process และรายละเอียดของ Pod ได้
- มีฟังก์ชันสร้าง kube
-
Networks
- สร้างและนำ network กลับมาใช้ซ้ำได้
- จัดการการตั้งค่ารายละเอียดแยกตาม network ได้
-
Secrets
- กำหนด, ตรวจสอบ และลบ secret ทั่วทั้งสภาพแวดล้อมได้
-
Volumes
- รองรับการแชร์ volume ระหว่างคอนเทนเนอร์
ความสะดวกด้านการตั้งค่าและดีบัก
- ตั้งค่า theme และ ฟอนต์ monospace ได้
- ปรับวิธีเริ่มต้นแอป, พฤติกรรม system tray และการควบคุม update ได้
- เลือก log level ได้
- แสดงตำแหน่งที่เก็บการตั้งค่าและ log
- มุ่งให้เป็นโครงสร้างที่ดีต่อการ ดีบัก ด้วยตำแหน่ง log และการตั้งค่าที่ชัดเจน
คู่มือและแพ็กเกจติดตั้ง
- Manual มีคู่มือการตั้งค่าแยกตามเอนจินและแพลตฟอร์ม พร้อมคำสั่งที่คัดลอกไปวางได้
- คู่มือ Linux ครอบคลุม quick start, วิธีใช้ Podman ให้เหมือน Docker, ทางเลือกแทน Docker Desktop และการแชร์ connection
- คู่มือ macOS ครอบคลุม quick start สำหรับ colima, Podman/Docker บน LIMA, วิธีใช้ Podman ให้เหมือน Docker, Apple™ Container และการแชร์ connection
- คู่มือ Windows ครอบคลุมการตั้งค่าและข้อกำหนดของ WSL, quick start, วิธีใช้ Podman ให้เหมือน Docker, การติดตั้งแบบกำหนดเอง และ tips
- ดาวน์โหลดอ้างอิง v5.3.7 โดยมีแพ็กเกจ native แยกตามแพลตฟอร์ม
- Linux:
.deb,.rpm,.tar.gz,.AppImage,.pacmanสำหรับ x86_64 และ arm64 - macOS:
.dmgสำหรับ Apple silicon, portable.tar.gz - Windows: Microsoft Store สำหรับ x64,
.exeแบบติดตั้ง, portable.zip
- Linux:
2 ความคิดเห็น
ผมรู้มาหลายปีแล้วว่ามีสิ่งที่ชื่อว่า posman อยู่ แต่ได้ยินมาว่ามันมีบั๊กค่อนข้างเยอะและมีหลายจุดที่เกะกะการใช้งาน ช่วงหลัง ๆ นี้ดีขึ้นมากไหมครับ?
ความคิดเห็นจาก Hacker News
มีแผนจะรองรับ Kubernetes และคนดูแล DevOps ของฉันก็ย้ำหนักแน่นมากว่าอยากให้ใส่มันเข้ามา
หลายคนที่นี่เป็นพาวเวอร์ยูสเซอร์ เลยดูเหมือนมอง UI ราวกับเป็น การทดสอบทางสายตา ว่าจำเป็นหรือไม่
นี่ไม่ใช่โปรเจ็กต์เชิงพาณิชย์และไม่ได้เดินตามเป้าหมายทางธุรกิจ แต่ก็ไม่ได้หมายความว่าจะยอมลดคุณภาพลง ฉันพยายามทำให้ใช้ทรัพยากรน้อยที่สุด มอบประสบการณ์ที่ง่าย และมี UI/UX ที่ดีในทุกจุด
ถ้าเปิด developer console ก็จะอธิบายทั้งหมดว่ามันทำอะไรอยู่เบื้องหลัง และมันอาจกลายเป็นเครื่องมือที่ช่วยให้ผู้ใช้ค่อย ๆ เข้าใจ จนสุดท้ายสามารถทำอัตโนมัติด้วยสคริปต์และสเปกได้เอง
ทุกวันนี้ผู้ใช้มักถูกมองว่าเก่งเกินไปหรือไม่ก็ไม่รู้อะไรเลย แต่ฉันไม่คิดแบบนั้น ทุกคนล้วนเริ่มจากที่ไหนสักแห่ง และฉันคิดว่า ประสบการณ์การเรียนรู้แบบค่อยเป็นค่อยไป นั้นดีที่สุด
ตอนเด็ก ๆ ฉันทำวิทยุกับของเล่นพังไปเยอะ และได้เรียนรู้มากจากการเปิดดูว่าข้างในมีอะไร โปรเจ็กต์นี้ทำโดยคนคนหนึ่งหลังเลิกงาน และในวันที่ฝนตกข้างนอก ซึ่งที่เบลเยียมฝนตกบ่อยมาก
ฉันรู้ว่ามีคนอยากรัน Docker คอนเทนเนอร์บนเครื่องตัวเอง และก็เข้าใจว่ามันทำงานอย่างไร แต่ไม่แน่ใจนักว่ากลุ่มคนที่ไม่อยากพิมพ์คำสั่งไม่กี่คำที่จำเป็นลงในพรอมป์ต์นั้นทับซ้อนกับกลุ่มนี้อย่างไรบ้าง
เดาว่าน่าจะเป็นการเชื่อมกับ containerd หรือ kata โดยตรง แต่อยากรู้มากกว่านี้ ถ้าขอได้อย่างหนึ่ง อยากให้มีตัวเลือกใช้ systemd โดยตรง เพราะตอนนี้ systemd ก็มีความสามารถที่จำเป็นสำหรับการรันคอนเทนเนอร์ค่อนข้างครบแล้ว
podman play kubeหรือหมายถึง Kubernetes จริง ๆมันอาจไม่ได้ทำให้ได้เรียนรู้การดูแลระบบหรือ Docker แบบลึกมาก แต่ก็ช่วยให้จับความรู้สึกได้ว่าแค่รู้ YAML ก็สามารถรันหลายบริการบนเซิร์ฟเวอร์ได้ง่าย โดยไม่ต้องใช้ DSL แยกอย่าง chef หรือ puppet
ดูดีมาก แต่สงสัยเรื่อง การรองรับ Kubernetes เพราะหนึ่งในเหตุผลหลักที่บริษัทเราใช้ Docker Desktop คือการยก local Kubernetes cluster ขึ้นมาแล้ว deploy บริการลงไป
Rancher Desktop ที่ใช้ k3s ก็รองรับเรื่องนี้ และ k3s อาจถือเป็นตัวเลือกที่ดีกว่าดิสทริบิวชัน Kubernetes ที่ Docker Desktop ตั้งมาให้ด้วยซ้ำ
ช่วงหลังฉันลองใช้ OrbStack แล้วมันเริ่มแทบจะทันที และ Kubernetes ก็ใช้เวลาเริ่มไม่เกินประมาณ 2 วินาที UI มินิมอลแต่ก็พอสำหรับดูคอนเทนเนอร์ พ็อด เซอร์วิส ล็อก ฯลฯ แถมใช้หน่วยความจำกับแบตเตอรี่น้อยมาก ส่วนตัวหลังจากลอง OrbStack แล้วก็กลับไปใช้ Docker หรือ Rancher Desktop ไม่ได้อีก
OrbStack ทำให้ใช้โดเมนของบริการ Kubernetes ได้ตรงจากโฮสต์ จึงไม่ต้องใช้
kubectl port-forwardและแอปพลิเคชันที่รันบนโฮสต์ก็ใช้การตั้งค่าเดียวกับในคลัสเตอร์ Kubernetes ได้ในแง่การประหยัดแบตเตอรี่ การใช้หน่วยความจำแบบไดนามิก เวลาเริ่มต้นที่รวดเร็ว และความสะดวก OrbStack กลายเป็นมาตรฐานของทางเลือกแทน Docker Desktop ไปแล้ว ฉันไม่แน่ใจว่า container-desktop ตอบโจทย์ทั้งหมดนี้หรือไม่ และ Rancher Desktop นั้นแน่นอนว่าไม่ใช่
ฉันใช้ Rancher Desktop เป็นทางเลือกแทน Docker Desktop บน macOS และ Windows มาสักพักแล้ว และมันค่อนข้างเสถียร: https://rancherdesktop.io/
ยังมีบางส่วนที่ต้องเกลาอีกนิด แต่ฉันก็เชื่อมกับ IDE เพื่อใช้งานได้ เช่นทำให้ Docker Compose integration ของ Intellij IDEA ใช้งานได้
ข้อดีอีกอย่างคือสคริปต์เดิม ๆ ที่ใช้เครื่องมือบรรทัดคำสั่ง
docker-composeก็ยังทำงานบน Rancher Desktop ได้ เพราะข้างในใช้ nerdctl: https://github.com/containerd/nerdctldocker buildแล้ว ก็สามารถยกมันขึ้นเป็น Kubernetes pod ได้ทันที โดยไม่ต้องเสียเวลา 10 นาทีค้นหาคำสั่งที่ถูกต้องสำหรับการ "load" อิมเมจแนะนำให้ดู Podman Desktop ด้วย ซึ่งได้รับการสนับสนุนจาก Red Hat ค่อนข้างดี
https://podman-desktop.io/
ถ้าใช้ macOS OrbStack เป็นทางเลือกแทน Docker Desktop ที่ค่อนข้างดี
ผม/ฉันไม่ได้มีส่วนเกี่ยวข้องกับ OrbStack แต่อย่างใด
ถ้าจ่ายครั้งเดียว 50~100 ดอลลาร์แล้วได้ไลเซนส์ถาวร ผม/ฉันยินดีจ่าย และอยากเลี่ยงความยุ่งยากที่ตามมาด้วย
colimaก็ดีเช่นกัน: https://www.swyx.io/running-docker-without-docker-desktopผม/ฉันก็ไม่ได้มีส่วนเกี่ยวข้อง และยังไม่ได้ลอง OrbStack
เคยใช้ Colima ด้วย และถ้า OrbStack ไม่ใช่ตัวเลือก ก็คงยังใช้ Colima ต่อไปอย่างพอใจ
ตอนนี้ใช้
colimaอยู่ แต่เสียดายที่ยังหาทางเลือกอื่นที่รองรับ UDP port forwarding ซึ่งผม/ฉันใช้บ่อยมากไม่ได้โชคดีที่มีการ merge ตัว port forwarder ใหม่ที่รองรับ UDP เข้าไปใน
limaแล้ว [0] หวังว่าจะได้ใช้ในเร็วๆ นี้เมื่อถูกรวมอยู่ในรีลีส[0]: https://github.com/lima-vm/lima/commit/13e9cbcabc6a0a05ec389...
ใช้ OrbStack แล้วพอใจมาก: https://orbstack.dev/
รองรับ Linux VM และ Kubernetes ด้วย แต่ยังไม่ได้ลอง Kubernetes
สงสัยว่ามันให้อะไรที่ Podman Desktop ไม่มี
https://podman-desktop.io/
docker-compose.ymlของ Podman ยังจำกัดมาก ไม่แน่ใจว่าตอนนี้เปลี่ยนไปหรือยังเป็นคำบ่นคนละเรื่องนิดหน่อย แต่ Podman อนุญาตให้ใช้ host mount ระหว่างการ build image ได้ ขณะที่ Docker ไม่ทำแบบนั้น
monorepo ที่ใช้ Podman อยู่ตัวหนึ่งใช้ฟีเจอร์นี้สร้าง container image จากซอร์ส แต่พอจะทำแบบเดียวกันด้วย Docker กลับต้องคัดลอก monorepo เข้าไปเป็น Docker build context ทุกครั้ง เลยกลายเป็นเรื่องปวดหัวมาก
ตอนนั้นต้องใช้ Docker เพราะต้องรองรับ M1 แต่ก็คิดว่าบางทีน่าจะลองอะไรอย่าง Colima แทน
บน Mac โดยรวมค่อนข้างพอใจกับ Colima แต่ตัวนี้ก็ดูเหมือนจะเป็นทางเลือกแทน Docker Desktop ที่ดีเช่นกัน
colimaก็เห็นด้วยโดยรวม ส่วนใหญ่เป็นเพราะต้องระบุอาร์กิวเมนต์ VZ[0] เพื่อรัน Docker image แบบ x86_64 บน M seriesสงสัยว่า desktop UI พวกนี้มีอะไรที่
colimaซึ่งไม่มี UI เลย ให้ไม่ได้บ้าง[0]
colima start --vm-type=vz --vz-rosetta