macOSでのDockerはRancher Desktopが良さげ

macOSでのDockerはRancher Desktopが良さげ
Page content

Dockerさまさま

今日は某クラウド向け環境構築のために、おそらく人生で初めて自分用のDockerfileを書いてみて、CLIなアプリの動作環境をDockerで構築することの素晴らしさを理解した。今までは、Dockerで動かすことを前提としている、他者のアプリを実行するときのみDockerを用いていた。Dockerでの開発環境・動作環境の構築って、素早く壊しては作れるし可搬性があるし、なんて楽なんだ〜!! 世間より数年遅れで気づいた自分に呆れるが、調べながら実際に手を動かすことによってやっとそれを強く理解したのだから仕方がない。

というわけで、手元の持ち歩きパソコンのM1 MacでもDocker環境を整えたくなり、最新の情報を調べてやってみたというのが今回のメモである。

「Rancher Desktop by SUSE」のインストール

macOS (Apple Silicon) 環境の場合

macOS (Apple Silicon) でDockerする場合、巷では今「Rancher Desktop by SUSE」がナウいらしい。昔から「Docker Desktop」が有名だがここでは前者を選択だ。理由は省略。

macOS (Apple Silicon) 環境へのインストール手順は次の通り。

  1. 既存のDocker環境があるならばアンインストールしておく (Docker Engineならこの手順: Install Docker Engine on Ubuntu | Docker Docs > Uninstall Docker Engine)
  2. 上記サイトの「Download for macOS (Apple Silicon)」リンクからdmgファイルをダウンロードし、macOS環境にインストールする
  3. 起動画面の「Welcome to Rancher Desktop by SUSE」の設定項目「Configure PATH」は、デフォルトは「Automatic」であるが私は「Manual」を選択した
  4. 別途、自身の環境の~/.bashrc (bashの場合) に次の数行を追加しておく (私はこのファイルを複数の環境で使い回しているので分岐を加えている)
    # Rancher Desktop
    if [ -d "$HOME/.rd/bin" ] ; then
    	export PATH="$HOME/.rd/bin:$PATH"
    fi
    
  5. 初期設定を適宜行うとインストール完了
  6. バックグラウンドでVMセットアップ等が実行され、その進捗はウィンドウ下部のステータスバーで把握できる
  7. ~/.bashrcを読み直したターミナルでdocker versionしてみると、Dockerが利用可能になっていることが確認できる
    $ docker version
    Client:
    Version:           24.0.7-rd
    API version:       1.42 (downgraded from 1.43)
    Go version:        go1.20.10
    Git commit:        72ffacf
    Built:             Wed Nov  1 18:41:50 2023
    OS/Arch:           darwin/arm64
    Context:           rancher-desktop
    
    Server:
    Engine:
    Version:          23.0.6
    API version:      1.42 (minimum version 1.12)
    Go version:       go1.20.11
    Git commit:       9dbdbd4b6d7681bd18c897a6ba0376073c2a72ff
    Built:            Fri Nov 17 20:59:57 2023
    OS/Arch:          linux/arm64
    Experimental:     false
    containerd:
    Version:          v1.7.2
    GitCommit:        0cae528dd6cb557f7201036e9f43420650207b58
    runc:
    Version:          1.1.12
    GitCommit:        51d5e94601ceffbbd85688df1c928ecccbfa4685
    docker-init:
    Version:          0.19.0
    GitCommit:
    
  8. hello-world - Official Image | Docker Hubを使ってコンテナ実行を確認
    $ docker pull hello-world
    Using default tag: latest
    latest: Pulling from library/hello-world
    478afc919002: Pull complete
    Digest: sha256:d000bc569937abbe195e20322a0bde6b2922d805332fd6d8a68b19f524b7d21d
    Status: Downloaded newer image for hello-world:latest
    docker.io/library/hello-world:latest
    
    $ docker run hello-world
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    (以下省略)
    

Ubuntu環境の場合

この「Rancher Desktop by SUSE」はかなり良くできていそうなアプリなので、Ubuntu環境でも使えるかなと調べてみたところ、.debパッケージでのインストールも可能だと分かった。後日やってみよう。

参考リンク