👀

今こそPodman使ってみるか (Docker互換のコンテナエンジンPodmanの環境構築)

2021/10/07に公開

概要

Docker Desktopが有料化したニュースが最近巷を賑わしている。
今回は、そんなDockerを脱却した時の代替手段としてPodmanと呼ばれるDocker互換のコンテナエンジンがあるので、その環境構築から調査した内容をまとめました。

https://www.itmedia.co.jp/news/articles/2109/02/news112.html

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

参考文献

https://docs.podman.io/en/latest/index.html

https://github.com/containers/podman

https://podman.io/getting-started/

Discussion