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 #とは
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をインストールする
インストーラーをダウンロード
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を選択してダウンロードします。
Podmanのインストール
ダウンロードしたインストーラーを開きます。
Applicationsにドラッグします。
インストールしたPodman Desktopを起動します。
このままStart onboarding
しちゃってOK。
気になる方はTelemetry
のチェックを外してもOKです。
「Podmanがなかばい!」って言われます。
入れてあげようね。Next
押せば入ります。
入れたら「Autostartするやで〜」って言ってきます。
基本的にこのままでNext
。
というかね、この辺で一応言っときますけどね、もうこの後の手順ずっとこのノリなんでね。
一生Next
をセンターに入れてスイッチ。マジシンジ君。
Podman Machineを作成します。
Podman Machineの設定をします。
自分はDev Containerを複数立ち上げることがあるのでメモリを4GB → 8GBにしてます。
Create
で作成します。(ちょっと時間かかります)
これでPodman自体のインストールは完了です。
kubectlのインストール
なにも変更せずにNext押すだけです。
インストールできたら↓の画面になります。
Composeのインストール
なにも変更せずにNext押s(ry
インストールできたら↓の画面になります。
\(^o^)/
これで終わりです。
簡単すぎて涙出るね。
Dev Containersの設定変更
podman
podman compose
を使うようにします。
これだけ
使ってみての感想
きちんと計測したわけではないのでだいぶプラシーボ説あるのですが、開発コンテナの作成が速い気がしています。
Ruby on Railsのプロジェクトを開発コンテナで開発しているのですが、
Dockerだと初回のbundle installがバチクソ遅かったのがPodmanだと苦じゃなかったです。
むしろ、「あれ…?こんなにサクッと終わったっけ…?」っていう気持ちになりました。
それだけでも移行した甲斐拓也はありました。巨人でも頑張ってくれ俺達の甲斐拓也。
自分は正直開発コンテナ以外にDocker使っていなかったのでわかりませんが、
もしかしたらもっとヘビーに使うのであれば互換性などの問題が出たりするのかもしれませんね。
移行はメチャクチャ簡単なので興味があればサクッとやっちゃってもいいと思います。
キミがPodman使い始めるの、『上』で待ってるで

スペースを簡単に貸し借りできるサービス「スペースマーケット」のエンジニアによる公式ブログです。 弊社採用技術スタックはこちら -> whatweuse.dev/company/spacemarket
Discussion