概要
Docker Desktopが有料化したニュースが最近巷を賑わしている。
今回は、そんなDockerを脱却した時の代替手段としてPodmanと呼ばれるDocker互換のコンテナエンジンがあるので、その環境構築から調査した内容をまとめました。
Podman
Podmanとは、Docker互換のコンテナエンジンです。
REHELや、CentOS,Fedoraなどに標準で付属しているようです。
また、PodmanのCLIは、コマンド名がdockerではなくpodmanに変更するくらいで、ほとんどDockerと同じようです。
Podmanでは、Podmanを用いてKubernetesのPodを管理することは、基本的にはできないようです。
Podmanの特徴
-
Podmanの制御下にあるコンテナは、rootまたは非特権ユーザーのいずれかによって実行できるようです。
-
デーモンを起動しなくても使える
=> 基本的にPodmanはデーモン無しで動作するようです。
正確には、バックグランドでconmonと呼ばれるプロセスを起動し、ユーザがconmonの存在を意識しなくて済むように設計されているようです。
しかし、ホストOS起動時にコンテナの自動起動をさせたい場合は、Docker/Podmanでも、systemdなどの設定が必要になるようです。 -
コンテナ間のネットワークにPodmanはKubernetesと同じCNI(Container Network Interface)を使っているようです。
podman network createコマンドでカスタムネットワークの作成ができますが、複数のネットワーク間での通信が禁止されていないことが特徴の一つです。
Podmanをinstall
Macクライアントは、Homebrewからinstallできます。
brew install podman
- ちなみにPodmanには、podman machineVMを自動的に管理するコマンドが含まれているので、Podmanが管理するVMを起動することができます。
podman machine init
podman machine start
- podmanのインストール情報を確認するのは下記のコマンドです。
podman info
参考文献