🐬

Docker Desktop 以外の選択肢を考えよう

に公開

普段、Docker の環境を構築する際、多くの人が当たり前のように Docker Desktop を利用していることでしょう。Windows や Mac にインストールするだけで、すぐにコンテナ技術の恩恵を受けられる手軽さは、確かに魅力的です。しかし、その一方で「PC の動作が重くなった」「会社で使うにはライセンス費用がかかるらしい」といった声も聞こえてきます。

実は、Docker 環境を整える方法は、Docker Desktop だけではありません。今回は、その代わりとなる選択肢に目を向け、それぞれのメリット・デメリットから状況に合わせた選択肢を考えていきたいと思います。

Docker と Docker Desktop は、似ているようで少し違う?

本題に入る前に、少しだけ言葉の整理をしておきましょう。「Docker」と聞くと、クジラのアイコンが描かれたあのアプリケーション、つまり「Docker Desktop」を思い浮かべる人が多いのではないでしょうか。しかし、厳密にはこの二つは別のものです。

Dockerとは、アプリケーションを「コンテナ」という隔離された箱に入れ、OS や環境の違いを気にすることなく、どこでも同じように動かすための「技術」そのものを指します。

一方、Docker Desktopは、その Docker 技術を、特に Windows や macOS といった OS 上で、誰でも簡単に扱えるようにした「公式の GUI ツール」なのです。つまり、Docker というエンジンを、親切なインターフェースで包んでくれているアプリケーション、というわけです。両者は切っても切れない関係ですが、厳密には異なることを理解しておくと、この後の話がスムーズです。

Docker 環境、あなたならどれを選ぶ?

さて、Docker 環境を構築するための選択肢として、今回は以下の3つを提案します。

  • Docker Desktop
  • Colima
  • Rancher Desktop

それぞれに利点・欠点があります。それでは、一つずつ紹介していきましょう。

王道の安心感、Docker Desktop

まずは、おなじみの Docker Desktop です。Docker 社が公式に提供しているだけあって、その完成度は高く、多くの開発者にとって「最初の選択肢」であり続けています。

Docker Desktop のメリット

何と言っても、その導入の手軽さは群を抜いています。公式サイトからインストーラーをダウンロードして実行するだけで、Docker を動かすために必要なものがすべて揃います。難しいコマンドや設定を覚える前に、すぐにコンテナの世界に飛び込めるのは、特に初学者にとっては大きな助けとなるでしょう。

また、直感的な GUIも魅力です。今どんなコンテナが動いているのか、どんなイメージが PC に保存されているのかを一覧で確認でき、起動や停止もボタン一つで行えます。コマンドラインの黒い画面に抵抗がある人でも、安心して操作できるはずです。

さらに、最近の開発では欠かせなくなったKubernetesもサポートしており、ローカル環境で手軽にその学習や検証を始められる点も見逃せません。

デメリット

しかし、良いことばかりではありません。Docker Desktop は内部で仮想マシンを動かしているため、PC のリソース(CPU やメモリ)を比較的に消費します。また、たくさんのアプリケーションを同時に動かしていると、PC の動作が遅延したり、ノート PC のファンが高速回転するといった事象が発生する場合があります。。

そして、ビジネスで利用する上で最も大きな注意点が、商用利用のライセンスです。2021 年の規約変更により、一定規模以上の企業で利用する場合には有料ライセンスが必要になりました。個人や小規模なチーム、教育目的であれば無料ですが、「会社で使ってみよう」という際には、まずライセンスの確認が必須です。

軽量・高速な実力派、Colima

次に紹介するのは、Colima です。Docker Desktop の代替として、近年急速に注目を集めているツールで、その最大の特徴は「軽さ」にあります。

Colima のメリット

Colima は、商用利用であっても完全に無料で使えるオープンソースのツールです。ライセンス費用を気にする必要がないのは、企業にとっても個人にとっても大きなメリットと言えるでしょう。

そして何より、非常に軽量で高速に動作します。内部の仮想化の仕組みがシンプルなため、PC への負荷が少なく、起動も高速です。これにより、ノート PC のバッテリー消費を抑えながら、快適な開発を続けることができます。

Docker Desktop からの移行を考えている人にとって嬉しいのは、docker psdocker compose upといった慣れ親しんだコマンドを、何も変えることなく利用できます。学習コストをかけずに、環境だけを軽量化できるのは嬉しいポイントです。

デメリット

Colima の潔いところは、GUI を一切持たないことです。すべての操作はコマンドライン(CLI)で行う必要があります。黒い画面での操作に慣れている人にとっては問題ありませんが、そうでない人にとっては、少し敷居が高く感じられるかもしれません。

また、何かトラブルが起きた際の原因究明が、Docker Desktop に比べて少し難しい場合があります。シンプルな分、自分で解決策を探すための知識が求められる場面も出てくるでしょう。

Kubernetes もお任せ、Rancher Desktop

最後に登場するのは、Rancher Desktop です。こちらも Docker Desktop の代替として人気があり、特に Kubernetes を使った開発をローカルで行いたい場合に、その真価を発揮します。

Rancher Desktop のメリット

Rancher Desktop も Colima と同様に、商用利用でも完全に無料のオープンソースです。

このツールの最大の魅力は、Kubernetes 環境の構築が非常に簡単であることです。GUI のチェックボックスを一つ入れるだけで、手元の PC 上に本格的な Kubernetes クラスタを構築できます。クラウドサービスを契約しなくても、Kubernetes アプリケーションの開発とテストができるのは、非常に強力なアドバンテージです。

また、コンテナを動かすための心臓部である「コンテナランタイム」を、軽量なcontainerdと、Docker 互換のdockerdから選択できる柔軟性も持っています。リソースを節約したいか、従来の Docker 環境との互換性を重視するか、自分の好みに合わせて選べるのは面白い点です。

デメリット

一方で、特に macOS で利用する場合、仮想化の仕組み上、ファイルの読み書き性能が他のツールに比べて少し劣ることがある、という報告もあります。頻繁にファイルの変更を検知して自動でリロードするような開発スタイルでは、その遅延が気になるかもしれません。

また、Docker Desktop に比べると、containerdnerdctlといった、少し聞き慣れない概念を理解する必要があります。コマンドは似ていますが、細かな違いに最初は戸惑うこともあるでしょう。

まとめ

さて、3 つの個性的なツールを紹介してきましたが、いかがでしたでしょうか。

  • Docker Desktopは、導入の手軽さと分かりやすさで、これからも多くの開発者にとっての「最初の扉」であり続けるでしょう。ただし、商用利用の際はライセンスを忘れずに。
  • Colimaは、CLI 操作を厭わず、とにかく軽量で高速な環境を求める人に、きっと満足のいくスピードを提供してくれます。
  • Rancher Desktopは、Kubernetes という広大な世界を、自分の PC の上で手軽に利用でき、さらに商用利用可能であるため、企業にとっても良い選択肢になります。

どのツールが一番優れている、というわけではありません。大切なのは、あなたが何を求めているか、です。この記事を参考に、ぜひ自分に合ったツールを選び、より快適で創造的な開発ライフを送ってください。

Discussion