😇

RancherからPodmanへの乗り換えが簡単すぎてネタにすらならなかったけどそれでも俺はブログを書くことを諦めない

に公開

最近のラノベのタイトル、長い

おはようございます、こんにちは、こんばんは。
スペースマーケットでWebエンジニアをしているs0arです。

業務でDev Containerを使用して開発していて、これまではRancher Desktopを使っていました。
それを興味本位でPodman Desktopに移行したのでそのメモです。
とはいえおもろいことは一切起こりませんでした。「やったか…!?(やってない)」ってなりませんでした。

前提

筆者はmacOSを使っています。
おそらく他のOSも大差ないとは思います。たぶん。きっと。

Rancher Desktopをアンインストールする

(アンインストールしてからこれを書いてるのでキャプチャとかないです、ごめんね)

自分はbrew caskで入れてたので以下でアンインストールしました。

brew uninstall --cask rancher

それ以外に、以下やっておくと良さそうです。

# Rancher Desktop
rm -rf ~/Library/Application\ Support/rancher-desktop
rm -rf ~/Library/Caches/rancher-desktop
rm -rf ~/Library/Logs/rancher-desktop
rm -rf ~/.rd

# Docker
rm -rf ~/.docker

# Containerd
rm -rf ~/.local/share/containerd
rm -rf ~/.local/share/nerdctl

Podman #とは

https://podman.io/

Podman is何って話なんですが、天下のRed Hatさんが開発しているオープンソースのコンテナツールです。

DockerとPodmanの比較(ざっくり)

比較項目 Docker Podman
アーキテクチャ クライアント+デーモン構成(dockerdデーモンが必要) デーモンレス(コンテナを直接実行)
root権限 通常はroot権限が必要(dockerグループでの実行も可能) rootless実行がデフォルト(通常ユーザーでも安全に実行可能)
互換性 俺がDockerだ Docker互換(alias docker=podman)
Compose対応 Docker Compose podman-composeやpodman playで対応
セキュリティ デーモンが特権で実行されるため潜在的なリスクあり rootlessモードとデーモンレス設計によりセキュリティ強化

早い話が速くて軽くて堅いってことだよね。強いよね。

Podman Desktopをインストールする

https://podman.io/docs/installation

インストーラーをダウンロード

Download Podman Installer (Recommended)
Podman can be downloaded from the Podman.io website.
We also upload the installers and other binaries on our GitHub release page.

公式のオススメはdmgを使う方法なのでそれに従います。

https://podman.io/ のDownloadからPodman Desktop for macOSを選択してダウンロードします。
Download Podman Desktop

Podmanのインストール

ダウンロードしたインストーラーを開きます。
Applicationsにドラッグします。

Podman Desktop Installer

インストールしたPodman Desktopを起動します。

Podman Desktop Get Started

このままStart onboardingしちゃってOK。
気になる方はTelemetryのチェックを外してもOKです。

Podman Setup

「Podmanがなかばい!」って言われます。
入れてあげようね。Next押せば入ります。

Autostart Podman

入れたら「Autostartするやで〜」って言ってきます。
基本的にこのままでNext

というかね、この辺で一応言っときますけどね、もうこの後の手順ずっとこのノリなんでね。
一生Nextをセンターに入れてスイッチ。マジシンジ君。

Create Podman Machine

Podman Machineを作成します。

Configure Podman Machine

Podman Machineの設定をします。
自分はDev Containerを複数立ち上げることがあるのでメモリを4GB → 8GBにしてます。
Createで作成します。(ちょっと時間かかります)

これでPodman自体のインストールは完了です。

kubectlのインストール

なにも変更せずにNext押すだけです。
インストールできたら↓の画面になります。

Install Kubectl

Composeのインストール

なにも変更せずにNext押s(ry
インストールできたら↓の画面になります。

Install Compose

\(^o^)/

これで終わりです。
簡単すぎて涙出るね。

Dev Containersの設定変更

podman podman compose を使うようにします。

Configure Dev Containers

これだけ

使ってみての感想

きちんと計測したわけではないのでだいぶプラシーボ説あるのですが、開発コンテナの作成が速い気がしています。
Ruby on Railsのプロジェクトを開発コンテナで開発しているのですが、
Dockerだと初回のbundle installがバチクソ遅かったのがPodmanだと苦じゃなかったです。
むしろ、「あれ…?こんなにサクッと終わったっけ…?」っていう気持ちになりました。
それだけでも移行した甲斐拓也はありました。巨人でも頑張ってくれ俺達の甲斐拓也。
自分は正直開発コンテナ以外にDocker使っていなかったのでわかりませんが、
もしかしたらもっとヘビーに使うのであれば互換性などの問題が出たりするのかもしれませんね。

移行はメチャクチャ簡単なので興味があればサクッとやっちゃってもいいと思います。

キミがPodman使い始めるの、『上』で待ってるで

GitHubで編集を提案
スペースマーケット Engineer Blog

Discussion