本ページはプロモーションが含まれています

ツール

【Mac】Rancher Desktopの使い方入門!5ステップで解説

トム

・都内自社開発IT企業勤務/javaのバックエンドエンジニア
/java歴10年以上 ・首都圏在住30代
・資格:基本情報技術者/応用情報技術者/Java Silver/Python3エンジニア認定基礎

「Docker Desktopのライセンス変更で、代わりのツールを探している」 「Macで手軽にKubernetes環境を構築したい」

最近、このような声をよく聞くようになりました。私自身も業務でMacを使い、Docker Desktopを愛用してきましたが、代替ツールの検討を迫られた一人です。いくつか試した中で、最もスムーズに移行でき、かつ高機能だったのが「Rancher Desktop」でした。

この記事では、私と同じようにMacでコンテナ開発環境を探している方へ向けて、Rancher Desktopの基本的な使い方を徹底的に解説します。

この記事を読み終える頃には、あなたは次のことができるようになります。

  • Rancher DesktopをMacにインストールし、初期設定を完了できる
  • Dockerコマンドを使ってコンテナを操作できる
  • ローカルにKubernetesクラスタを構築し、基本的な管理ができる
  • Docker Desktopからの移行をスムーズに進められる

Macでのコンテナ開発を、無料で、そしてパワフルに始めましょう。

Rancher Desktop 導入と基本

まずは、MacにRancher Desktopを導入するための基本的な手順から見ていきましょう。Rancher Desktopがどのようなツールなのか、Docker Desktopと何が違うのかを理解すると、よりスムーズに使いこなせるようになります。Macでの使い方を覚える第一歩です。

Rancher Desktopとは?Dockerとの違い

Rancher Desktopは、MacやWindows、Linux上でKubernetesとコンテナ管理機能を提供してくれるオープンソースのデスクトップアプリケーションです。SUSE社が開発を主導しており、誰でも無料で利用できます。

Docker Desktopとの主な違いは3つあります。

Docker Desktopとの主な違い

  1. Rancher DesktopはApache License 2.0で提供されるオープンソースソフトウェアです。商用利用でも完全に無料で、企業の規模に関わらず安心して導入できます。
  2. Docker DesktopでもKubernetesは利用できますが、Rancher DesktopはKubernetesを主眼に置いて設計されています。複数のKubernetesバージョンを簡単に切り替えられるため、開発環境と本番環境のバージョンを合わせるのが容易になります。
  3. Docker Desktopはdockerdを内部的に使用します。一方、Rancher Desktopではcontainerdまたはdockerdのどちらをコンテナランタイムとして利用するか選択可能です。containerdは業界標準のランタイムであり、よりKubernetesネイティブな環境を体験できます。

これらの特徴から、Rancher DesktopはDocker Desktopの強力な代替ツールとして、またKubernetesの学習用ツールとして注目されています。

MacへのRancher Desktopインストール手順

MacへのRancher Desktopのインストールは非常に簡単です。ここでは、パッケージ管理ツールであるHomebrewを使った方法を紹介します。ターミナルを開いて、以下のコマンドを1行実行するだけです。

brew install --cask rancher

このコマンドを実行すると、HomebrewがRancher Desktop本体と、関連する必要なツールを自動でインストールしてくれます。インストールには数分かかる場合があります。

もしHomebrewをインストールしていない場合は、公式サイトから.dmgファイルをダウンロードしてインストールする方法もあります。しかし、アップデート管理の手間を考えると、Home-brewを利用する方法がおすすめです。

インストールが完了すると、アプリケーションフォルダに「Rancher Desktop」が追加されます。これでインストールの手順は完了です。

Rancher Desktopの起動と初期設定

インストールが完了したら、早速Rancher Desktopを起動してみましょう。アプリケーションフォルダからRancher Desktopのアイコンをクリックします。

初回起動時には、いくつかの初期設定を求める画面が表示されます。ここで設定する内容は後からでも変更可能ですが、最初の設定が重要になります。

設定

  1. Kubernetesバージョンの選択: 最初に表示されるのは、使用するKubernetesのバージョンを選択する画面です。特に理由がなければ、推奨されている安定版を選択しておけば問題ありません。
  2. コンテナランタイムの選択: コンテナを動かすためのソフトウェア(コンテナランタイム)を選択します。containerddockerd(moby)の2つの選択肢があります。 containerd: Kubernetesで標準的に使われているランタイムです。より本番環境に近い構成で開発したい場合におすすめします。 dockerd(moby): Docker Desktopと同じデーモンです。既存のdockerコマンドのワークフローをそのまま維持したい場合や、Docker Compose v1に依存するプロジェクトがある場合に選択します。

基本的にはcontainerdが推奨されますが、Docker Desktopからの移行をスムーズにしたい方はdockerd(moby)を選ぶと良いでしょう。選択後、「Accept」ボタンをクリックすると、設定が適用されRancher Desktopが起動します。

起動が完了すると、メニューバーにRancher Desktopのアイコンが表示されます。これで基本的な準備は整いました。

Kubernetesクラスタ構築と管理

Rancher Desktopの大きな魅力は、Mac上で手軽にKubernetesクラスタを構築できる点です。ここでは、基本的なKubernetesの管理方法について、具体的な使い方を解説します。

Kubernetesバージョンの選択と変更

開発プロジェクトによっては、特定のKubernetesバージョンで動作確認をしたい場合があります。Rancher Desktopなら、GUIから簡単にバージョンを切り替えられます。

  1. メニューバーのRancher Desktopアイコンをクリックし、「Preferences」を選択します。
  2. 左側のメニューから「Kubernetes」を選びます。
  3. 「Kubernetes Version」のドロップダウンメニューから、使用したいバージョンを選択します。
  4. バージョンを選択すると、Rancher Desktopが自動的にKubernetesクラスタを再構築します。

この機能により、複数のプロジェクトで異なるバージョンのKubernetesが必要な場合でも、柔軟に対応することが可能です。

kubectlコマンドの利用設定

Rancher Desktopは、起動時にKubernetesクラスタへの接続情報(kubeconfig)を自動で設定してくれます。そのため、特別な設定をしなくても、すぐにターミナルからkubectlコマンドを利用できます。

ターミナルを開き、以下のコマンドを実行してみましょう。クラスタのノード情報が表示されれば、正しく接続できています。

kubectl get nodes

もしcommand not found: kubectlというエラーが出る場合は、kubectlコマンドへのパスが通っていない可能性があります。Rancher Desktopの設定画面の「Supporting Utilities」タブで、シンボリックリンクを作成するオプションが有効になっているか確認してください。有効になっていれば、~/.rd/binへのパスが自動で追加されます。

Namespaceの作成と切り替え

Kubernetesでは、Namespace(名前空間)を使ってクラスタ内のリソースを論理的に分割します。プロジェクトごとや環境ごとにNamespaceを分けるのが一般的です。

新しいNamespaceを作成するには、以下のコマンドを実行します。ここではmy-projectという名前のNamespaceを作成します。

kubectl create namespace my-project

作成したNamespaceに切り替えて操作を行うには、kubectlコマンドのコンテキストを変更します。

kubectl config set-context --current --namespace=my-project

これで、以降のkubectlコマンドはmy-project Namespaceに対して実行されるようになります。

Rancher DesktopのGUIからも、現在のNamespaceを簡単に確認したり切り替えたりできます。メインウィンドウの上部にあるドロップダウンメニューから、操作したいNamespaceを選択するだけです。この手軽さがRancher Desktopの使い方の特徴です。

Dockerイメージの操作とコンテナ実行

Rancher DesktopはKubernetesだけでなく、Dockerコンテナの実行環境としても優れています。ここでは、MacでRancher Desktopを使い、Dockerイメージを操作する方法を説明します。

Docker HubからのイメージPullと実行

Docker Hubなどのコンテナレジストリからイメージを取得(Pull)し、コンテナとして実行する手順は、Docker Desktopと全く同じです。

たとえば、Webサーバーとして人気のNginxのイメージを取得するには、以下のコマンドを実行します。

docker pull nginx

イメージの取得が完了したら、docker runコマンドでコンテナを起動しましょう。-dオプションでバックグラウンド実行、-p 8080:80でホストOSの8080番ポートをコンテナの80番ポートに接続します。

docker run -d --name my-nginx -p 8080:80 nginx

実行後、Webブラウザで http://localhost:8080 にアクセスしてみてください。Nginxのウェルカムページが表示されれば成功です。

実行中のコンテナを確認するにはdocker ps、停止するにはdocker stop my-nginxコマンドを使います。これらのコマンド操作はDocker Desktopと共通なので、移行もスムーズに進みます。

Dockerfileを使ったイメージのビルド

自分で作成したアプリケーションをコンテナ化する場合、Dockerfileを使ってカスタムイメージをビルドします。Rancher Desktop環境でも、docker buildコマンドでイメージをビルドできます。

まず、簡単なWebアプリケーションを用意しましょう。index.htmlというファイルを作成します。

次に、このindex.htmをNginxのコンテナにコピーするためのDockerfileを作成します。

FROM nginx:latest
COPY index.html /usr/share/nginx/html/index.html

2つのファイルが同じディレクトリにあることを確認し、ターミナルで以下のコマンドを実行してイメージをビルドします。-tオプションでイメージにmy-webapp:1.0という名前とタグを付けます。

docker build -t my-webapp:1.0 .

ビルドが完了したら、作成したイメージを使ってコンテナを起動してみましょう。

docker run -d --name my-app-container -p 8888:80 my-webapp:1.0

今度はWebブラウザで http://localhost:8888にアクセスします。自分で作成したメッセージが表示されるはずです。このように、Dockerfileを使った開発フローも問題なく行えます。

あわせて読む

ポートフォワーディングの設定

docker run -pコマンドで設定したポートフォワーディングは、Rancher DesktopのGUIからも管理できます。

  1. Rancher Desktopのメインウィンドウを開きます。
  2. 左側のメニューから「Port Forwarding」を選択します。

ここに、現在設定されているポートフォワーディングの一覧が表示されます。どのコンテナのどのポートが、ホストのどのポートに接続されているか一目でわかります。この画面からポートフォワーディングのルールを追加したり、削除したりすることも可能です。直感的な操作でネットワーク設定を管理できるのは、GUIを持つRancher Desktopの強みです。

Rancher Desktopの高度な活用

基本的な使い方に慣れたら、さらに便利な機能も活用してみましょう。ここでは、より一歩進んだRancher DesktopのMacでの使い方を紹介します。

Docker Desktopからの移行で注意する3つの点

Docker DesktopからRancher Desktopへ移行する際に、いくつか注意すべき点があります。これらを知っておくと、トラブルを未然に防げます。

ポイント

  1. Docker Desktopで作成したDockerイメージやボリュームは、自動的にはRancher Desktopに引き継がれません。必要なイメージはDocker Hubなどのレジストリにpushしておくか、docker saveコマンドでファイルに保存し、Rancher Desktopでdocker loadする必要があります。
  2. 一部の開発ツールは、Dockerデーモンと通信するためのソケットファイル(docker.sock)のパスを固定で参照している場合があります。Rancher Desktopはデフォルトで互換性のあるパスにシンボリックリンクを作成しますが、ツールによっては設定の見直しが必要になるかもしれません。
  3. Rancher DesktopはDocker Compose v2を標準でサポートしています。もし古いdocker-compose.yml(バージョン1系)を使用しているプロジェクトがある場合は、v2形式に書き直すか、互換性設定を確認する必要があります。

Rancher Desktopをインストールする前に、必ずDocker Desktopは完全に停止、またはアンインストールしておくことをおすすめします。同時に起動するとポートの競合などが発生し、正しく動作しない原因となります。

Rancher DesktopのGUI操作

Rancher Desktopの魅力は、コマンドラインだけでなく直感的なGUI操作にもあります。メインウィンドウの左側には、主要な機能へアクセスするためのメニューが並んでいます。

ポイント

  • Images: ローカルに存在するDockerイメージの一覧を確認できます。不要なイメージをここから直接削除(prune)することも可能です。イメージの検索やスキャン機能も備えています。
  • Containers: Kubernetes上で動作しているコンテナ(Pod)の一覧が表示されます。ログの確認や、コンテナ内へのシェル接続(kubectl exec相当)も、ボタン一つで実行できます。
  • Troubleshooting: 問題が発生した際に役立つ機能が集まっています。キャッシュの削除や、工場出荷状態へのリセットなどを行えます。

これらのGUI機能を活用することで、日々のコンテナ管理作業を効率化できます。コマンドに不慣れな初心者の方でも、安心して使い始めることが可能です。

設定ファイル(.yaml)の編集と適用

Kubernetesでは、アプリケーションの構成をYAML形式の設定ファイルで管理するのが一般的です。Rancher Desktop環境でも、もちろんこの方法でアプリケーションをデプロイできます。

たとえば、先ほど作成したmy-webapp:1.0イメージを、DeploymentとしてKubernetes上で実行するためのdeployment.yamlファイルを作成します。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-webapp-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: my-webapp
  template:
    metadata:
      labels:
        app: my-webapp
    spec:
      containers:
      - name: my-webapp-container
        image: my-webapp:1.0
        ports:
        - containerPort: 80

このYAMLファイルをkubectl applyコマンドでクラスタに適用します。

kubectl apply -f deployment.yaml

コマンドが成功すると、KubernetesはYAMLファイルの定義に従って2つのコンテナ(Pod)を起動します。kubectl get podsコマンドで状態を確認してみましょう。このように、YAMLファイルを使った宣言的なリソース管理は、Kubernetesを扱う上で基本となる使い方です。

トラブルシューティングとTips

どんなツールにもトラブルはつきものです。ここでは、Rancher Desktopを使っていてよく遭遇する問題とその対処法、便利なTipsを紹介します。

Rancher Desktopが起動しない場合の対処法

Rancher Desktopがうまく起動しない場合、いくつかの原因が考えられます。以下の点を確認してみてください。

ポイント

  1. VirtualBoxやVMwareなど、他の仮想化ソフトウェアが同時に動作していると、仮想化支援機能の取り合いが発生して起動に失敗することがあります。Rancher Desktopを使用する際は、他の仮想化ソフトウェアを停止してください。
  2. Docker Desktopなど、他のコンテナツールがバックグラウンドで動作していると、ポートが競合して起動できません。アクティビティモニタで関連プロセスが残っていないか確認し、完全に終了させてから再起動します。
  3. 何らかの理由で内部のデータが破損している可能性があります。Rancher Desktopの「Troubleshooting」メニューから「Reset Kubernetes」や「Factory Reset」を試すと、状況が改善される場合があります。ただし、この操作を行うと既存のイメージやコンテナは全て削除されるので注意が必要です。

リソース(CPU、メモリ)の割り当て調整

Macのリソースは有限です。Rancher Desktopは仮想マシン上で動作するため、CPUやメモリを消費します。もしMac全体の動作が重く感じられるようになったら、リソースの割り当てを見直しましょう。

  1. 「Preferences」を開き、「Virtual Machine」タブを選択します。
  2. 「Memory」と「CPUs」のスライダーを調整して、Rancher Desktopが使用できるリソースの上限を設定します。

通常はデフォルト設定で問題ありませんが、大規模なアプリケーションを動かす場合や、逆にリソースを節約したい場合に調整すると効果的です。設定変更後は、Rancher Desktopの再起動が必要です。

Rancher Desktopのアンインストール方法

Rancher Desktopをアンインストールする必要が出てきた場合、いくつかの手順を踏む必要があります。

まず、アプリケーション本体をアプリケーションフォルダからゴミ箱に移動します。しかし、これだけでは設定ファイルや内部データがMac内に残ってしまいます。

完全にクリーンな状態にするには、以下のコマンドをターミナルで実行します。これにより、関連する設定ファイルやキャッシュが一掃されます。

~/Library/Application\ Support/rancher-desktop/bin/rdctl factory-reset

Homebrewでインストールした場合は、以下のコマンドでもアンインストールできます。

brew uninstall rancher-desktop

完全に削除することで、再インストール時に予期せぬトラブルを防げます。

Rancher Desktopは、Macでコンテナ技術やKubernetesを扱うための強力なツールです。無料で利用できるオープンソースでありながら、Docker Desktopに匹敵する、あるいはそれ以上の機能を備えています。特に、複数のKubernetesバージョンを簡単に切り替えられる点は、開発者にとって大きなメリットとなります。

Docker Desktopの代替を探している方、これからMacでKubernetesを学びたい方にとって、Rancher Desktopは最適な選択肢の一つです。この記事で紹介した基本的な使い方をマスターすれば、あなたの開発環境はより快適で、効率的なものになるでしょう。

  • この記事を書いた人
  • 最新記事

トム

・都内自社開発IT企業勤務/javaのバックエンドエンジニア
/java歴10年以上 ・首都圏在住30代
・資格:基本情報技術者/応用情報技術者/Java Silver/Python3エンジニア認定基礎

-ツール