※当サイトの記事には、広告・プロモーションが含まれます。

Docker Desktopの代替をどうするか。Rancher Desktopを導入してみた

www.itmedia.co.jp

www.itmedia.co.jp

⇧ ゲームの世界もクラウド化が促進されてるんですな。

game.watch.impress.co.jp

ファミコン40周年らしいですが。

Docker Desktopとは?

2023年7月17日(月)時点では、Dockerの公式のサイトによると、

www.docker.com

*Docker Desktop is free to use as part of the Docker Personal subscription for individuals, non-commercial open source developers, students and educators, and small businesses of fewer than than 250 employees AND less than $10 million in revenue. Commercial use of Docker Desktop at a company of more than 250 employees OR more than $10 million in annual revenue requires a paid subscription (Pro, Team, or Business). While the effective date of these terms is August 31, 2021, there is a grace period until January 31, 2022 for those that require a paid subscription to use Docker Desktop.

https://www.docker.com/pricing/

⇧ とあって、

www.docker.com

Docker Desktop may be used for free as part of a Docker Personal subscription for:

  • Small companies (less than 250 employees AND less than $10 million in annual revenue)
  • Personal use
  • Education and learning (as a student or instructor, either in an academic or professional environment)
  • Non-commercial open source projects

https://www.docker.com/pricing/faq/

⇧ とあり、個人的な利用では引き続き無償で利用できるようなのだけど、

forest.watch.impress.co.jp

⇧ 値上げもされてることから、実際の開発現場で利用が許されるのかが心許ない...

Docker Desktopの代替をどうするか

となると、Docker Desktopの代替があるのかなのだけど、

devops-blog.virtualtech.jp

⇧ 結構、いろいろ出てる模様。

Mac使ってる場合は、

ik.am

blog.cloudnative.co.jp

⇧ OrbStackってのが良いらしい。

で、Windows使ってる場合は、

knqyf263.hatenablog.com

okash1n.works

⇧ Rancher Desktopが良いらしい。

Rancher Desktopを導入してみた

自分の環境が、Windows 10 Homeなので、Rancher Desktopをインストールしてみる。

公式のインストール手順を確認した感じでは、Windowsでのインストールには、

docs.rancherdesktop.io

Requirements

Rancher Desktop requires the following on Windows:

Rancher Desktop requires Windows Subsystem for Linux on Windows; this will automatically be installed as part of the Rancher Desktop setup. Manually downloading a distribution is not necessary.

https://docs.rancherdesktop.io/getting-started/installation

⇧ WSL(Windows SubSystem for Linux)が利用できる環境である必要がありますと。 WSL(Windows SubSystem for Linux)がインストールされていない場合は、Rancher Desktopがインストールされる時に一緒にインストールしてくれるらしい。

ということで、

github.com

Windows用のインストーラーをダウンロードする。

ダウンロードしたインストーラーを起動。「I accept the terms in the License Agreement」にチェックして「Next」押下。

「Install just for you(ユーザー名)」にチェックして「Next」押下しました。

「Install」押下。

「Finish」押下。

Rancher Desktopがインストールされたようです。

Rancher Desktopを起動して、Dockerを利用する

Rancher Desktopを起動で。

rdctl start

「dockerd(moby)」を選択し「OK」押下。

設定で暫し待ち。

左下に出てたプログレスバーが消えてれば、設定が終わったってことらしい。

dockerコマンドが実行できれば、Rancher Desktopが起動できてるってことになるみたい。

Rancher DesktopがデフォルトでDockerイメージを用意してるっぽい。

dockerコンテナ一覧を確認。

C:\Users\Toshinobu>docker ps -a
CONTAINER ID   IMAGE                        COMMAND                  CREATED          STATUS                      PORTS     NAMES
d85d28d9a3ee   af74bd845c4a                 "entry"                  11 minutes ago   Up 11 minutes                         k8s_lb-tcp-443_svclb-traefik-d4eeff0a-mrjh6_kube-system_4f08210a-e6d4-447d-84f1-211669bfdbcc_0
636252cc951b   af74bd845c4a                 "entry"                  11 minutes ago   Up 11 minutes                         k8s_lb-tcp-80_svclb-traefik-d4eeff0a-mrjh6_kube-system_4f08210a-e6d4-447d-84f1-211669bfdbcc_0
67c18801fa66   d1e26b5f8193                 "/entrypoint.sh --gl…"   11 minutes ago   Up 11 minutes                         k8s_traefik_traefik-64f55bb67d-hft7c_kube-system_ae49084b-4f3a-475d-aef4-7cda66477bf7_0
4db3cf209d60   rancher/mirrored-pause:3.6   "/pause"                 11 minutes ago   Up 11 minutes                         k8s_POD_svclb-traefik-d4eeff0a-mrjh6_kube-system_4f08210a-e6d4-447d-84f1-211669bfdbcc_0
805253589e9e   rancher/mirrored-pause:3.6   "/pause"                 11 minutes ago   Up 11 minutes                         k8s_POD_traefik-64f55bb67d-hft7c_kube-system_ae49084b-4f3a-475d-aef4-7cda66477bf7_0
ec76dde85c92   6f42df210d7f                 "entry install --set…"   11 minutes ago   Exited (0) 11 minutes ago             k8s_helm_helm-install-traefik-p7v8m_kube-system_6df4abce-bd76-4e76-93e1-b4967446a810_1
d667b26233a6   6f42df210d7f                 "entry install"          11 minutes ago   Exited (0) 11 minutes ago             k8s_helm_helm-install-traefik-crd-q6sxj_kube-system_e3ff7b36-4e35-4efe-9bce-845dc676ec8a_0
60e4ea6bdd24   ead0a4a53df8                 "/coredns -conf /etc…"   11 minutes ago   Up 11 minutes                         k8s_coredns_coredns-77ccd57875-zfstn_kube-system_f7a74a3e-1a7e-4a76-824f-9c883e1af3f6_0
c965a51322f1   b29384aeb4b1                 "local-path-provisio…"   11 minutes ago   Up 11 minutes                         k8s_local-path-provisioner_local-path-provisioner-957fdf8bc-2x4z6_kube-system_adca50ad-057b-4c75-aad0-e8cb8738bed7_0
db2a680d1538   817bbe3f2e51                 "/metrics-server --c…"   11 minutes ago   Up 11 minutes                         k8s_metrics-server_metrics-server-648b5df564-pnk97_kube-system_3c07ed82-8d2f-47ce-ab20-2226d1a74fe0_0
22a6c157cd75   rancher/mirrored-pause:3.6   "/pause"                 12 minutes ago   Up 11 minutes                         k8s_POD_coredns-77ccd57875-zfstn_kube-system_f7a74a3e-1a7e-4a76-824f-9c883e1af3f6_0
8655b49d311c   rancher/mirrored-pause:3.6   "/pause"                 12 minutes ago   Up 11 minutes                         k8s_POD_metrics-server-648b5df564-pnk97_kube-system_3c07ed82-8d2f-47ce-ab20-2226d1a74fe0_0
fa40efced81b   rancher/mirrored-pause:3.6   "/pause"                 12 minutes ago   Up 11 minutes                         k8s_POD_local-path-provisioner-957fdf8bc-2x4z6_kube-system_adca50ad-057b-4c75-aad0-e8cb8738bed7_0
5bdd358ff6cb   rancher/mirrored-pause:3.6   "/pause"                 12 minutes ago   Exited (0) 11 minutes ago             k8s_POD_helm-install-traefik-p7v8m_kube-system_6df4abce-bd76-4e76-93e1-b4967446a810_0
3d6dab77a973   rancher/mirrored-pause:3.6   "/pause"                 12 minutes ago   Exited (0) 11 minutes ago             k8s_POD_helm-install-traefik-crd-q6sxj_kube-system_e3ff7b36-4e35-4efe-9bce-845dc676ec8a_0

Kubernetesのdockerイメージのコンテナっぽい。

とりあえず、Docker Desktopの代替としてRancher Desktopが導入できて、Rancher Desktopを経由してDockerが利用できるようになったようです。

Rancher Desktopについては、

⇧ というファイルが生成されており、

learn.microsoft.com

LinuxWindows サブシステム (WSL 2) では、仮想化プラットフォームを使用してホスト Windows オペレーティング システムと共に Linux ディストリビューションをインストールし、インストールする各 Linux ディストリビューションのファイルを格納する仮想ハード ディスク (VHD) を作成します。 これらの VHD は ext4 ファイル システムの種類 を使用し、Windows ハード ドライブでは ext4.vhdx ファイルとして表されます。

WSL ディスク領域を管理する方法 | Microsoft Learn

⇧ WSL 2(Windows SubSystem for Linux 2)環境で、Linuxディストリビューションのファイルを格納するファイルってことらしいので、Rancher DesktopでDockerを動かすためにLinux仮想マシンが作られるってことのよう。

ちなみに、自分の環境だと、Rancher Desktop以外にも

仮想マシンは作られてるので、いくら「lightweight VM」とは言え、ディスクの容量が逼迫してしまうよね...

「lightweight VM」って言葉は、

stackoverflow.com

⇧ 動画でしか残ってないみたいね...何故、ドキュメントに載せないのか、安定の不親切さ、流石はMicrosoftさん...

Rancher Desktopの仕組みを見た感じでは、

docs.rancherdesktop.io

⇧ WSL 2(Windows SubSystem for Linux 2)にdocker daemonをインストールしてるっぽい。Kubernetes(k3s)もインストールしてる模様。

japan.zdnet.com

 「Kubernetes」ユーザーであればご存じのように、「Rancher」はさまざまなインフラを横断して複数のKubernetesクラスターを実行、管理するための完全なソフトウェアスタックとして人気を集めている。そして今回、Linuxおよびクラウド分野の大手であるSUSEは、Rancher Labsの買収以降初となる新プログラムとして、「Rancher Desktop 1.0.0」をリリースしている。

SUSE、「Rancher Desktop 1.0.0」リリース--デスクトップで「Kubernetes」を管理可能 - ZDNET Japan

 「Rancher Desktop」は、Kubernetesコンテナー管理の学習や試行、テストを可能にするオープンソースのプログラムだ。このプログラムは現在、「M1」プロセッサーあるいはIntelプロセッサーを搭載している「Mac」、「Windows」マシン(「Windows Subsystem for Linux:WSL」が必要)、Linuxマシンで稼働する。

SUSE、「Rancher Desktop 1.0.0」リリース--デスクトップで「Kubernetes」を管理可能 - ZDNET Japan

 これは、「Node.js」を活用した「Electron」アプリケーションであるため、多くのプラットフォームで実行可能だ。その主なビジネスロジックは「TypeScript」と「JavaScript」で記述されている。また実行時には、プラットフォームとしての機能を提供するために複数のプログラムを活用している。こういったプログラムには「K3s」や「kubectl」「nerdctl」「QEMU」、WSLが含まれている。

SUSE、「Rancher Desktop 1.0.0」リリース--デスクトップで「Kubernetes」を管理可能 - ZDNET Japan

 もちろん、各OSでこれらのコンポーネントすべてが必要とされているわけではない。例えばWSLは、そもそも「macOS」やLinuxで必要ない。

SUSE、「Rancher Desktop 1.0.0」リリース--デスクトップで「Kubernetes」を管理可能 - ZDNET Japan

⇧ なるほど、Rancher Labsで開発されてたプロジェクトである「K3s」がRancher Desktopで使えるわけだ。

今回はこのへんで。