4 ポイント 投稿者 GN⁺ 2024-09-21 | 2件のコメント | WhatsAppで共有
  • Container Desktopは、Podman、Docker、Apple™ Containerを1つの画面で扱える無料のオープンソースデスクトップUIで、Windows・macOS・Linuxのすべてをサポートする
  • ローカルエンジンだけでなく、SSHリモート接続、Windows WSL、macOS LIMA、Apple siliconのApple™ Containerまで、1つのマネージャーで切り替えられる
  • コンテナごとのログ、状態、環境変数、マウント、ポート、統計、内蔵ターミナル、ブラウザで開く機能など、日常的な運用作業をUIで処理できる
  • イメージ、イメージセキュリティ、Pod、ネットワーク、シークレット、ボリューム管理に加えて、テーマ・フォント・起動方式・トレイ・更新・ログレベル設定をサポートする
  • MITライセンスのアプリであり、Linux・macOS・Windows向けのネイティブパッケージとMicrosoft Storeでの配布を提供する

Container Desktopの役割

  • Container Desktopは、Podman、Docker、Apple™ Container向けのデスクトップUI
  • Windows、macOS、Linuxで同じ方法でコンテナ環境を扱える
  • ローカルエンジン、SSHリモート、WSL環境を1つのUIで管理する
  • 無料のオープンソースアプリで、ライセンスはMIT
  • 公式Podmanチームが作ったアプリが必要な場合は、Podman Desktopも別途ある

エンジンと接続方式

  • 1つのマネージャーで複数のコンテナエンジンと接続方式を切り替えられる
    • Linuxのネイティブエンジン
    • 仮想化されたエンジン
    • macOSのLIMA
    • WindowsのWSL
    • Apple siliconのApple™ Container
    • SSHリモート接続
  • 対応対象にはPodman、Docker、Apple™ Container、LIMA、WSL、SSHが含まれる

コンテナ運用画面

  • コンテナの出所と状態を確認できる
  • コンテナごとのログ、環境変数、マウント、ポート、ライブ統計を見られる
  • 起動、停止、再起動といった基本操作を行う
  • 内蔵ターミナルコンソールを開いてコンテナにアクセスできる
  • 公開されたサービスはブラウザで直接開ける
  • 同じ作業フローがPodman、Docker、Apple™ Containerで共通して動作する

イメージ・Pod・ネットワーク・シークレット・ボリューム管理

  • Images

    • イメージをpull、build、inspectできる
    • カスタムポートとマウントでコンテナを作成できる
  • Image security

    • 既知の脆弱性を把握し、システムの安全性を維持する機能を提供する
  • Pods

    • Podのログ、プロセス、詳細情報を確認できる
    • kube生成機能を提供する
  • Networks

    • ネットワークを作成して再利用できる
    • ネットワークごとの詳細設定を扱える
  • Secrets

    • 環境全体のシークレットを定義、確認、削除できる
  • Volumes

    • コンテナ間でのボリューム共有をサポートする

設定とデバッグのしやすさ

  • テーマと等幅フォントを設定できる
  • アプリの起動方式、システムトレイの動作、アップデート制御を調整する
  • ログレベルを選択できる
  • 設定とログが保存される場所を表示する
  • ログと設定の保存場所が明確で、デバッグしやすい構成を志向している

マニュアルとインストールパッケージ

  • Manualは、エンジンやプラットフォームごとの設定ガイドを提供し、コピー&ペーストできるコマンドを含む
  • Linuxガイドには、クイックスタート、PodmanをDockerのように使う方法、Docker Desktopの代替、接続共有が含まれる
  • macOSガイドでは、colimaクイックスタート、LIMAベースのPodman・Docker、PodmanをDockerのように使う方法、Apple™ Container、接続共有を扱う
  • Windowsガイドには、WSLの設定と要件、クイックスタート、PodmanをDockerのように使う方法、カスタムインストール、ヒントが含まれる
  • ダウンロードはv5.3.7時点でプラットフォーム別のネイティブパッケージを提供する
    • Linux: x86_64・arm64向け .deb, .rpm, .tar.gz, .AppImage, .pacman
    • macOS: Apple silicon向け .dmg, portable .tar.gz
    • Windows: x64向け Microsoft Store, インストーラー版 .exe, portable .zip

2件のコメント

 
ndrgrd 2024-09-27

数年前からposmanというものがあるのは知っていましたが、バグがかなり多く、煩わしい部分も多いと聞いていました。最近はかなり改善されましたか?

 
GN⁺ 2024-09-21
Hacker News の意見
  • Kubernetes 対応は計画していて、私の DevOps 担当者がぜひ入れてほしいと強く望んでいる
    ここにいる多くの人はパワーユーザーなので、UI を必要かどうか判断する視覚的な詩のように見ているようだ
    これは商用プロジェクトではなく、ビジネス目標に従っているわけでもないが、それは品質を諦めるという意味ではない。あらゆる場面で最小限のリソース使用、簡単な体験、優れた UI/UX を提供しようとしている
    開発者コンソールを開けば裏で何をしているのかすべて説明してくれ、ある時点でユーザーが理解し、スクリプトと仕様で自動化できるよう助けるツールになり得る
    最近はユーザーを賢すぎるか愚かすぎるかのどちらかとして見がちだが、私はそうは見ていない。誰もがどこかから始めたのであり、段階的に学べる体験が最も良いと思う
    子どもの頃、ラジオやおもちゃをたくさん壊し、中に何があるのかのぞき込んで多くを学んだ。このプロジェクトは一人が仕事の後、そして外で雨が降っている時に作っている。ベルギーは雨が多い

    • 私も人生のすべてをコマンドラインだけで過ごしているわけではないが、Docker 用 GUI は興味深いニッチに感じる
      ローカルで Docker コンテナを動かしたいことは分かっていて、その仕組みも分かっているが、実行に必要ないくつかのコマンドをプロンプトで打ちたくない人たち、というのが正確にはどんな交差部分なのかよく分からない
    • 「最近は誰もが賢すぎるか愚かすぎるかのどちらかだと見なされている」という表現は、この分野の多くの状況を非常に簡潔かつ詩的にうまく説明している
    • 本当に洗練されて見える。サイトには他のエンジン対応も計画されているとあるが、どんなものなのか気になる
      containerd や kata と直接連携する形だと推測しているが、もっと知りたい。ひとつ要望できるなら、systemd を直接使うオプションがあるとよい。今では systemd がコンテナ実行に必要な機能をかなりよく備えているからだ
    • Kubernetes 対応というのは、podman play kube のような Podman の Kubernetes 風機能を指しているのか、それとも Kubernetes そのものを指しているのか気になる
    • 最後まで完成はできなかったが、Hetzner で月 20 ユーロ程度かかる基本的な K8S、正確には K3S 構成を文書化するのはかなり楽しかった
      それを通じてシステム管理や Docker を深く学べるわけではないが、chef や puppet のような別の DSL ではなく YAML だけを知っていれば、サーバーで複数のサービスを簡単に動かせる感覚は得られる
  • 格好よく見えるが、Kubernetes 対応がどうなっているのか気になる。会社で Docker Desktop を使っている大きな理由の一つが、ローカル Kubernetes クラスターを立ち上げ、そこにサービスをデプロイするためだからだ
    k3s を使う Rancher Desktop も対応しているが、k3s は Docker Desktop が構成する Kubernetes ディストリビューションよりも良い選択と言えるかもしれない
    最近 OrbStack を使ってみたところ、ほぼ即座に起動し、Kubernetes も起動に最大 2 秒ほどしかかからない。UI はミニマルだが、コンテナ、Pod、サービス、ログなどを確認するには十分で、メモリ使用量とバッテリー消費も非常に軽い。個人的には 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 も確認してみる価値がある
  • Docker Desktop の代替として Rancher Desktop を macOS と Windows で使ってきたが、かなり安定している: https://rancherdesktop.io/
    まだ磨くべき部分はあるが、IDE とも接続して使えたし、たとえば Intellij IDEA の Docker Compose 統合も動作させられた
    もう一つ良い点は、docker-compose コマンドラインツールを使う既存のスクリプトなどが Rancher Desktop でも動くことだ。内部的に nerdctl を使用しているためだ: https://github.com/containerd/nerdctl

    • Rancher Desktop は Kubernetes がそのまま動くのが良い。それだけでなく、docker build でイメージを作った後、イメージを正しく「load」するコマンドを 10 分ずつ検索しなくても、すぐに Kubernetes Pod として起動できる
    • Rancher Desktop に一票。MacOS で Docker Desktop と同じくらい滑らかに動く
    • Rancher Desktop を 2 年使っていて、Docker Desktop の代替として間違いなくおすすめできる
    • 私たちの会社も Rancher への移行を終えたばかりだ。およそエンジニア 1200 人規模で、大半が Mac を使っている。今のところ予想より障害は少なく、かなりうまく回っている
    • Rancher エコシステム全体が気に入っている。Rancher でクラスターを構成する体験はとても快適だ
  • Red Hat の支援がかなり手厚い Podman Desktop も見てみることを勧める
    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 ポートフォワーディングをサポートする他の代替を見つけられず残念
    幸い lima に UDP 対応の新しいポートフォワーダーがマージされた [0]。リリースに含まれれば、近いうちに使えることを期待している
    [0]: https://github.com/lima-vm/lima/commit/13e9cbcabc6a0a05ec389...

  • OrbStack をとても満足して使っている: https://orbstack.dev/
    Linux VM と Kubernetes もサポートしているが、Kubernetes はまだ使っていない

  • これが Podman Desktop にない何を提供するのか気になる
    https://podman-desktop.io/

    • 最後に確認したとき、Podman の docker-compose.yml サポートはかなり限定的だった。変わったのか気になる
    • Windows ユーザーの立場から、Podman Desktop が WSL にない何を提供するのかも気になる
  • 少し別件の不満だが、Podman はイメージビルド中の ホストマウントを許可する一方、Docker はそうではない
    Podman を使うモノレポがこの機能を活用してソースからコンテナイメージを作っていたが、Docker で同じことを実現しようとすると毎回モノレポを Docker ビルドコンテキストにコピーする必要があり、大きな悩みの種だった
    M1 サポートのために Docker を使う必要があったが、おそらく Colima のようなものを試すべきだったのだと思う

    • https://docs.docker.com/reference/dockerfile/#run---mount
    • 自分が間違っているかもしれないが、BuildKit が Docker にその機能を提供しているようだ
    • 自分ならツリーをコンテキスト内にバインドマウントする。Docker が単純なシンボリックリンクは辿らないと仮定している
  • Mac で Colima にはおおむね満足しているが、これも Docker Desktop の良い代替に見える

    • colima で最初に少し苦労した後は、おおむね同意。主に M シリーズで x86_64 Docker イメージを動かすために VZ 引数[0]を指定する必要があった
      こうしたデスクトップ UI が colima にはまったくない何を提供するのか気になる
      [0] colima start --vm-type=vz --vz-rosetta