4 คะแนน โดย GN⁺ 2024-09-21 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • 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

2 ความคิดเห็น

 
ndrgrd 2024-09-27

ผมรู้มาหลายปีแล้วว่ามีสิ่งที่ชื่อว่า posman อยู่ แต่ได้ยินมาว่ามันมีบั๊กค่อนข้างเยอะและมีหลายจุดที่เกะกะการใช้งาน ช่วงหลัง ๆ นี้ดีขึ้นมากไหมครับ?

 
GN⁺ 2024-09-21
ความคิดเห็นจาก Hacker News
  • มีแผนจะรองรับ Kubernetes และคนดูแล DevOps ของฉันก็ย้ำหนักแน่นมากว่าอยากให้ใส่มันเข้ามา
    หลายคนที่นี่เป็นพาวเวอร์ยูสเซอร์ เลยดูเหมือนมอง UI ราวกับเป็น การทดสอบทางสายตา ว่าจำเป็นหรือไม่
    นี่ไม่ใช่โปรเจ็กต์เชิงพาณิชย์และไม่ได้เดินตามเป้าหมายทางธุรกิจ แต่ก็ไม่ได้หมายความว่าจะยอมลดคุณภาพลง ฉันพยายามทำให้ใช้ทรัพยากรน้อยที่สุด มอบประสบการณ์ที่ง่าย และมี UI/UX ที่ดีในทุกจุด
    ถ้าเปิด developer console ก็จะอธิบายทั้งหมดว่ามันทำอะไรอยู่เบื้องหลัง และมันอาจกลายเป็นเครื่องมือที่ช่วยให้ผู้ใช้ค่อย ๆ เข้าใจ จนสุดท้ายสามารถทำอัตโนมัติด้วยสคริปต์และสเปกได้เอง
    ทุกวันนี้ผู้ใช้มักถูกมองว่าเก่งเกินไปหรือไม่ก็ไม่รู้อะไรเลย แต่ฉันไม่คิดแบบนั้น ทุกคนล้วนเริ่มจากที่ไหนสักแห่ง และฉันคิดว่า ประสบการณ์การเรียนรู้แบบค่อยเป็นค่อยไป นั้นดีที่สุด
    ตอนเด็ก ๆ ฉันทำวิทยุกับของเล่นพังไปเยอะ และได้เรียนรู้มากจากการเปิดดูว่าข้างในมีอะไร โปรเจ็กต์นี้ทำโดยคนคนหนึ่งหลังเลิกงาน และในวันที่ฝนตกข้างนอก ซึ่งที่เบลเยียมฝนตกบ่อยมาก

    • ฉันเองก็ไม่ได้ใช้ชีวิตทั้งหมดบนบรรทัดคำสั่ง แต่ GUI สำหรับ Docker ก็ดูเป็นช่องว่างเฉพาะที่น่าสนใจ
      ฉันรู้ว่ามีคนอยากรัน Docker คอนเทนเนอร์บนเครื่องตัวเอง และก็เข้าใจว่ามันทำงานอย่างไร แต่ไม่แน่ใจนักว่ากลุ่มคนที่ไม่อยากพิมพ์คำสั่งไม่กี่คำที่จำเป็นลงในพรอมป์ต์นั้นทับซ้อนกับกลุ่มนี้อย่างไรบ้าง
    • ประโยคที่ว่า "ทุกวันนี้ทุกคนถูกมองว่าเก่งเกินไปหรือไม่ก็โง่เกินไป" สรุปหลายสถานการณ์ในวงการนี้ได้อย่างกระชับและมีความเป็นบทกวีมาก
    • ดูลื่นไหลมาก บนเว็บไซต์บอกด้วยว่ามีแผนรองรับ เอนจินอื่น ๆ ด้วย เลยอยากรู้ว่ามีอะไรบ้าง
      เดาว่าน่าจะเป็นการเชื่อมกับ containerd หรือ kata โดยตรง แต่อยากรู้มากกว่านี้ ถ้าขอได้อย่างหนึ่ง อยากให้มีตัวเลือกใช้ systemd โดยตรง เพราะตอนนี้ systemd ก็มีความสามารถที่จำเป็นสำหรับการรันคอนเทนเนอร์ค่อนข้างครบแล้ว
    • สงสัยว่าที่บอกว่ารองรับ Kubernetes หมายถึงความสามารถคล้าย Kubernetes ของ Podman อย่าง podman play kube หรือหมายถึง Kubernetes จริง ๆ
    • ถึงสุดท้ายจะทำไม่เสร็จ แต่ฉันสนุกมากกับการเขียนเอกสารสำหรับ K8S แบบพื้นฐานบน Hetzner ที่ตกเดือนละราว 20 ยูโร หรือให้แม่นกว่านั้นคือ เซ็ตอัป K3S
      มันอาจไม่ได้ทำให้ได้เรียนรู้การดูแลระบบหรือ 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 นั้นแน่นอนว่าไม่ใช่

    • OrbStack เป็นหนึ่งในซอฟต์แวร์แบบสมัครสมาชิกไม่กี่ตัวที่ฉันยอมจ่าย และคุ้มทุกบาททุกสตางค์ มันนำหน้า Docker Desktop ไปไกลมาก
    • ฉันเดโม OrbStack ให้ทั้งแผนกที่มีวิศวกรมากกว่า 100 คนดู แล้วตอนนี้ก็ยกเลิกบัญชี Docker Desktop และย้ายกันหมดแล้ว ไม่มีใครบ่นเลย
    • https://kind.sigs.k8s.io/ กับ https://k0sproject.io ก็น่าลองดูเหมือนกัน
  • ฉันใช้ Rancher Desktop เป็นทางเลือกแทน Docker Desktop บน macOS และ Windows มาสักพักแล้ว และมันค่อนข้างเสถียร: https://rancherdesktop.io/
    ยังมีบางส่วนที่ต้องเกลาอีกนิด แต่ฉันก็เชื่อมกับ IDE เพื่อใช้งานได้ เช่นทำให้ Docker Compose integration ของ Intellij IDEA ใช้งานได้
    ข้อดีอีกอย่างคือสคริปต์เดิม ๆ ที่ใช้เครื่องมือบรรทัดคำสั่ง docker-compose ก็ยังทำงานบน Rancher Desktop ได้ เพราะข้างในใช้ nerdctl: https://github.com/containerd/nerdctl

    • ข้อดีของ Rancher Desktop คือ Kubernetes ใช้งานได้เลย ไม่ใช่แค่นั้น หลังจากสร้างอิมเมจด้วย docker build แล้ว ก็สามารถยกมันขึ้นเป็น Kubernetes pod ได้ทันที โดยไม่ต้องเสียเวลา 10 นาทีค้นหาคำสั่งที่ถูกต้องสำหรับการ "load" อิมเมจ
    • ขอเชียร์ Rancher Desktop อีกเสียง มันทำงานบน macOS ได้ลื่นพอ ๆ กับ Docker Desktop
    • ฉันใช้ Rancher Desktop มา 2 ปีแล้ว และแนะนำได้อย่างมั่นใจว่าเป็นทางเลือกแทน Docker Desktop ที่ดี
    • บริษัทเราก็เพิ่งย้ายมาใช้ Rancher เสร็จเหมือนกัน ขนาดประมาณ วิศวกร 1200 คน และส่วนใหญ่ใช้ Mac เท่าที่ผ่านมาอุปสรรคน้อยกว่าที่คิดและใช้งานได้ค่อนข้างดี
    • ฉันชอบทั้ง ecosystem ของ Rancher เลย ประสบการณ์ในการตั้งค่าคลัสเตอร์ด้วย Rancher นั้นราบรื่นมาก
  • แนะนำให้ดู Podman Desktop ด้วย ซึ่งได้รับการสนับสนุนจาก Red Hat ค่อนข้างดี
    https://podman-desktop.io/

    • ไม่แน่ใจว่าการมี Red Hat หนุนหลังนั้นถือเป็นเรื่องดีหรือเปล่า
  • ถ้าใช้ macOS OrbStack เป็นทางเลือกแทน Docker Desktop ที่ค่อนข้างดี
    ผม/ฉันไม่ได้มีส่วนเกี่ยวข้องกับ OrbStack แต่อย่างใด

    • อยากลองใช้ แต่เกลียดโมเดลแบบสมัครสมาชิกมาก โดยเฉพาะถ้าเป็นเครื่องมือที่บริษัทต้องจ่ายค่าใช้จ่ายยิ่งแล้วใหญ่
      ถ้าจ่ายครั้งเดียว 50~100 ดอลลาร์แล้วได้ไลเซนส์ถาวร ผม/ฉันยินดีจ่าย และอยากเลี่ยงความยุ่งยากที่ตามมาด้วย
    • OrbStack ดีมากจริงๆ ใช้มันคอมไพล์สำหรับ Ubuntu/Mac × x86_64/arm รวม 4 แพลตฟอร์ม และมันเร็วที่สุดในบรรดาพวกอีมูเลชัน/Docker ที่ผม/ฉันเคยใช้มา
    • colima ก็ดีเช่นกัน: https://www.swyx.io/running-docker-without-docker-desktop
      ผม/ฉันก็ไม่ได้มีส่วนเกี่ยวข้อง และยังไม่ได้ลอง OrbStack
    • เปลี่ยนมาใช้ OrbStack แล้ว และก็จ่ายค่าไลเซนส์แล้วด้วย เห็นด้วยว่าเบื่อระบบสมัครสมาชิก แต่ก็รู้สึกว่าคุ้มกับราคาเดือนละ 8 ดอลลาร์
      เคยใช้ 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 ยังจำกัดมาก ไม่แน่ใจว่าตอนนี้เปลี่ยนไปหรือยัง
    • ในมุมของผู้ใช้ Windows ก็สงสัยเหมือนกันว่า Podman Desktop ให้อะไรที่ WSL ไม่มี
  • เป็นคำบ่นคนละเรื่องนิดหน่อย แต่ Podman อนุญาตให้ใช้ host mount ระหว่างการ build image ได้ ขณะที่ Docker ไม่ทำแบบนั้น
    monorepo ที่ใช้ Podman อยู่ตัวหนึ่งใช้ฟีเจอร์นี้สร้าง container image จากซอร์ส แต่พอจะทำแบบเดียวกันด้วย Docker กลับต้องคัดลอก monorepo เข้าไปเป็น Docker build context ทุกครั้ง เลยกลายเป็นเรื่องปวดหัวมาก
    ตอนนั้นต้องใช้ Docker เพราะต้องรองรับ M1 แต่ก็คิดว่าบางทีน่าจะลองอะไรอย่าง Colima แทน

    • https://docs.docker.com/reference/dockerfile/#run---mount
    • ผม/ฉันอาจเข้าใจผิด แต่ดูเหมือนว่า BuildKit จะมีฟีเจอร์นั้นให้กับ Docker
    • ถ้าเป็นผม/ฉันจะ bind mount ต้นไม้ไฟล์เข้าไปใน context โดยคิดว่า Docker คงไม่ตาม symlink ธรรมดา
  • บน 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