概要

macで利用するDockerの環境を見直して、Rancher Desktopに変えました。

ここでは、Rancher Desktopのインストールとdockerやdocker-composeコマンドを使えるようになるまでを紹介します。

環境

  • macOS Monterey 12.6
  • Rancher Desktop 1.6.0

Rancher Desktopについて

macでDockerの環境を用意する方法は様々あります。有名なものでは、Docker DesktopというDockerを提供している会社が提供しているものがあります。これは、ライセンスによっては有料となってしまいますが、利用者も多く、古くからリリースされており安定性も高いです。

個人で利用する場合は無料で利用できたり、ビジネスで利用するということであっても、売上によっては無料で利用できたりします。しかし、ライセンス周りは面倒な部分があるので、なるべく気軽に利用できるものであればとても嬉しいです。

他にmacでDockerの環境を用意する方法にLimaを利用する方法があります。LimaはWindowsでいうところのWindows Subsystem Linux(WSL)のようなものを目指して開発しているもので、気軽にmacでLinuxの仮想マシンの構築ができます。Docker Desktopでも同じですが、macでDockerの環境を用意するときには、Linuxの仮想マシンにDockerをインストールするという流れになります。

しかし、私はLimaを起動したり終了させたりするのが面倒に感じていました。また、管理のためのGUIがないため、Limaで起動した仮想マシンの管理が面倒に感じていました。

そこで、他の方法としてRancher Desktopを今は利用しています。

Rancher Desktopでは、全て無料で利用することができ、Docker Desktopと同じようにGUIでのイメージやコンテナの管理画面があったり、dockerやdocker-composeコマンドも利用できます。そのため、Docker Desktopよりもライセンスを気にしなくても済み、Limaよりも使いやすいUIが手に入ります。

Rancher Desktopのインストール

ここからは、Rancher Desktopのインストールについて説明します。ここでは、macでの例を示しますが、LinuxやWindowsにもインストール可能です。また、macについて、intelのCPU以外にもM1やM2のApple Siliconへのネイティブ対応がされています。

Rancher Desktopのインストールの前に、既存のDocker環境のアンインストールをします。例えばDocker Desktopでは、Docker Desktopのアンインストールを、Limaでは、DockerをインストールしているLinux環境に関する設定を削除します(DOCKER_HOST環境変数など)。Limaについては、Lima自体のアンインストールは必須でないですが、今後使わないということであればアンインストールしても良いでしょう。

次のWebページから、対応したものをダウンロードします。

Rancher Desktop

ダウンロードしたファイルを起動して、インストールをします。書かれている内容に従って進めていきます。macの場合、Rancher Desktop.appをApplicationディレクトリに保存するので、そのRancher Desktop.appを起動します。

Rancher Desktop.appを起動すると、最初の設定をするウィンドウが表示されるので、指示に従ってセットアップを完了させます。このとき、設定からContainer Engineとして「dockerd (moby)」を選択します。

34ee259a87d62b940a10d3408d056cd8-1024x726.png

なぜこのような設定を行うのかというと、dockerコマンドやdocker-composeコマンドを利用する上で、Container Engineはdockerdである必要があるからです。セットアップ後にcontainerdやdockerdの切り替えをすることもできます。

セットアップが終われば、dockerやdocker-composeコマンドを利用できるようになります。Rancher Desktopの設定画面からCPUやメモリの使用量を変更することも可能ですので、お好みに合わせて、変更しても良いでしょう。

正常にインストールできたかの確認として、docker infoコマンドを実行した結果を次に載せておきます。

 docker info  
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc., v0.9.1)
  compose: Docker Compose (Docker Inc., v2.11.1)
  extension: Manages Docker extensions (Docker Inc., v0.2.8)
  sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc., 0.6.0)
  scan: Docker Scan (Docker Inc., v0.17.0)

Server:
 Containers: 11
  Running: 11
  Paused: 0
  Stopped: 0
 Images: 8
 Server Version: 20.10.18
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 9cd3357b7fd7218e4aec3eae239db1f68a5a6ec6
 runc version: 5fd4c4d144137e991c4acebb2146ab1483a97925
 init version: 
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.15.64-0-virt
 Operating System: Alpine Linux v3.16
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 5.809GiB
 Name: lima-rancher-desktop
 ID: 5ZRH:VONR:E2VT:NFB4:6ZKC:GFS5:YMKF:ME57:5FG7:5XNH:UOAE:MPJG
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

さいごに

現在Rancher Desktopを利用していますが、問題は発生しておらず、ちゃんと使えています。

Dockerの環境として、Rancher Desktopはかなりおすすめですので是非試してもらえれば嬉しいです。