paint-brush
5 つの Docker デスクトップの代替案@ChrisChinchilla
26,356 測定値
26,356 測定値

5 つの Docker デスクトップの代替案

Chris Chinchilla5m2022/12/28
Read on Terminal Reader

長すぎる; 読むには

Docker デスクトップは、長年にわたって Docker コンテナーを使用する主な方法でした。愛好家や小規模な開発チームにとっては実行可能で使いやすいオプションですが、大規模なユーザー ベース向けの最近の価格変更により、人々は代替品を探しています。私は Docker Desktop を自分で置き換えるつもりはありませんが、代替案を試して比較することに興味がありました。
featured image - 5 つの Docker デスクトップの代替案
Chris Chinchilla HackerNoon profile picture

Windows および macOS ユーザーにとって、Docker Desktop は長年にわたって Docker コンテナーを使用する主な方法でした。愛好家や小規模な開発チームにとっては実行可能で使いやすいオプションですが、大規模なユーザーベース向けの最近の価格変更により、人々は代替品を探しています.私は Docker Desktop を自分で置き換えるつもりはありませんが、代替案を試して比較することに興味がありました。

この記事の動画バージョン

YouTube で各ツールのカバレッジを使用して、より実践的なこの投稿のビデオ バージョンを見つけることができます。

用語

コンテナー自体はテクノロジーの新しい概念ではありませんが、Docker は 2000 年代半ばに概念を普及させ、概念を主流に持ち込むために適切なタイミングで適切な方法で販売しました。


Docker the company と Docker the project は混同しやすく、両者は別個のエンティティであるため、分離する価値があります。この混乱のため、会社である Docker は名前を変更し、コンテナ関連の多くのテクノロジをオープンソース化し、現在「オープン コンテナ イニシアチブ」(OCI) として知られているものに貢献しました。


ここでは多くのことを抽象化して要約していますが、この記事の残りの部分で「OCI 準拠」のコンテナーおよびそれに類する用語を参照する場合は、「Docker コンテナー」と考えられるものに類似していると考えてください。これらの出来事や変化はすべて、テクノロジー時代の少し前に実際に起こったものですが、それでも常に混乱の原因となっています. Tldr… この投稿で紹介されているすべてのオプションは、同じコンテナー定義を実行できます。これには、Docker Desktop の既存のコンテナーまたはDockerfileで作成されたコンテナーが含まれます。別の注意点として、多くのプロジェクトでは、Docker で実行されているコンテナーを「dockerd」と「Moby」と同じ意味で参照しています。

1.ポッドマン

おそらく最も人気のある代替手段であるPodmanには、Red Hat から多くの貢献者がいます。Red Hat は Podman の商用バージョンを計画しているように見えるため、これは「Red Hat プロジェクト」であると言っても過言ではありません。


Windows、macOS、および Linux で利用でき、ここで取り上げる他の多くのツールと同様に、Docker と同様の構文に従いますが、2 つの注意点があります。


  1. デフォルトでは、Docker の代わりにpodmanを使用しますが、エイリアスを作成して、そのコマンドの変更を忘れることができます。
  2. デフォルトでは、Docker Desktop は、Docker ハブのコンテナー イメージを使用することを想定していますが、他のすべての代替手段は当然のことながら、その想定をしていません。これは、「 docker.io/library/busybox 」など、定期的に使用する可能性のある多くのイメージへのフル パスを指定する必要があることを意味します。


Podman と、Docker Desktop など、ここで取り上げる他の代替手段との主な違いの 1 つは、それがデーモンレスであることです。これは、実行中のすべてのコンテナーが、1 つのデーモンを介してではなく、独自のランタイム プロセスとして実行されることを意味します。 Docker デーモンが失敗すると、実行中のすべてのコンテナーが失敗しますが、Podman では、個々のコンテナーのみが失敗します。そうは言っても、私は個人的に Docker デーモンが失敗したことはありませんが、実稼働ワークロードを実行していません。


ここにある他のすべてのツールと同様に、最初の実行時に、Podman はコンテナーをホストするために macOS と Windows で仮想マシンを作成する必要があります。 macOS と Windows では、これは常に必要というわけではありませんが、クロスプラットフォーム (およびアーキテクチャ) の互換性を最大限に高めるためには理にかなっています。 Podman は Fedora CoreOS (再び Red Hat 接続があります) と QEMU を使用して VM を実行します。

Podman デスクトップ

Podman のグラフィカル コンパニオンはPodman Desktopですが、理論的には、他のランタイムによって作成されたイメージとコンテナーを一覧表示する必要があります。他の多くのグラフィカル ツールと同様に、Kubernetes と対話するための機能も追加されますが、それらについては今後の投稿で説明します。これは、Docker Desktop と同じ機能を提供する可能性があり、拡張機能などの標準に従っていることに気付いていなかった機能も含まれますが、少し洗練されておらず、Docker Desktop が提供する OS 固有の機能の一部が欠けています。

2.コリマ

Linux と macOS でのみ利用可能なColimaLimaを使用して、macOS で Linux VM を有効にします。 Docker、Containerd、および Kubernetes ランタイムをサポートしており、いずれの場合も Colima とともにそのランタイムをインストールする必要があります。 macOS 上の Docker の場合、これは Docker デスクトップと完全に同じではありません。


Colima を使用するのは簡単ですが、ランタイムをインストールする必要があるという事実は、「Colima とは何ですか?」と疑問に思いました。キャッチフレーズは「最小限のセットアップで macOS (および Linux) のコンテナー ランタイム」ですが、なぜそれが必要なのかはまだわかりません。私が知る限り、主な理由は (Docker Dkestop、minikube などの代わりに) containerd または Kubernetes バックエンドとして使用することであり、Docker サポートの主な理由は下位互換性です。

3.ランチャーデスクトップ

ほとんどの場合、Rancher Desktop は Kubernetes 管理ツールとして請求されますが、 Rancher Desktopは Kubernetes 以外のコンテナー管理機能も提供します。これは、containerd または Docker で実行されるコンテナーをサポートし、このリストの他のグラフィカル ツールとほとんど同じ機能を提供します。ここでも、QEMU はすべてが実行される VM を提供しますが、それを変更するオプションはありません。これは完全にまともなツールであり、より成熟した代替手段の 1 つですが、変更を加えたときに VM を何度も再起動してリセットする必要があり、少し面倒でした。

4. VMWare フュージョン

既に VMWare Fusion を使用して Windows および Linux VM を実行している場合は、コンテナーもサポートされます。ただし、この機能は現在、Intel ベースの Mac でのみ機能しますが、インストーラーは引き続き CLI ツールをインストールし、希望を与えません。

5. パラレルス

繰り返しになりますが、既に Linux および Windows VM 用のParallels Desktopを所有して使用している場合は、それを minikube のバックエンドとして使用できます。これは主に Kubernetes の使用を目的としていますが、コンテナーに隣接しているため、一種のオプションとして含めています。 .

私が使うもの

今のところ、個人の貢献者として、私は Docker Desktop に満足しています。ホスト オペレーティング システムとのより高いパフォーマンスとシームレスな統合のために提供される追加機能が気に入っています。


私のような人々のやる気をなくす何かが変わった場合、おそらく Podman Desktop を使用して Podman に切り替えるでしょう。それはその時点でのプロジェクトの状態によって異なります。

あなたはどうですか?