Podman
Podman は Docker の代わりになるプログラムで、同じようなインターフェイスを提供します。
インストール
podman パッケージをインストールしてください。コンテナイメージを作成したい場合は Buildah も見てください。
Docker と異なり、Podman はデーモンを必要としませんが、cockpit-podman など cockpit のようなサービスのための API は提供しています。
デフォルトでは Podman を実行できるのは root だけです。root 以外のユーザーでコンテナを実行したい場合はルートレス Podman を参照。
設定
コンテナの挙動を設定する設定ファイルは /etc/containers
に存在します。Podman によって使われるネットワークブリッジインターフェイスを設定したいときは /etc/cni/net.d/87-podman-bridge.conflist
を見てください。
ルートレス Podman
デフォルトではコンテナ (カーネルの文脈で言うところの名前空間) を実行できるのは root
だけです。
Podman コンテナを root を使わずに操作したい場合、まずコンテナを使いたいユーザーとグループを決めて、適切なエントリを /etc/subuid
と /etc/subgid
に追加してください。
以下の例では podman
ユーザーとグループによる Podman コンテナの実行を有効化します。165536 から 169631 までの UID/GID が podman
ユーザー・グループにそれぞれ割り当てられます。詳しくは subuid(5) や subgid(5) を見てください。
/etc/subuid
podman:165536:4096
/etc/subgid
podman:165536:4096
上記の設定後、podman
ユーザー・グループで podman コンテナを起動できるようになります。
イメージ
Arch Linux
以下のコマンドで Arch Linux x86_64 イメージが Docker Hub から取得されます。ネットワークなどを除外した縮小版の Arch となっています。
# podman pull docker.io/archlinux
README.md も参照してください。
完全な Arch イメージを使いたい場合、リポジトリを複製して自分自身のイメージを作成してください。
$ git clone https://github.com/archlinux/archlinux-docker.git
devtools パッケージをインストールしてください。
packages
ファイルを編集して 'base' とだけ記述し、以下のコマンドを実行:
# make rootfs # podman build -t archlinux .
Alpine Linux
Alpine Linux はコンテナイメージとして容量が小さく、静的バイナリとしてコンパイルされたソフトウェアに適しています。以下のコマンドで最新の Alpine Linux イメージが Docker Hub から取得されます:
# podman pull docker.io/alpine
Alpine Linux はほとんどの Linux ディストリビューションで使われている glibc libc 実装の代わりに musl libc 実装を使っています。Arch Linux は glibc を使っているため、Arch Linux ホストと Alpine Linux コンテナにはパフォーマンスからソフトウェアの正確性まで様々な影響がある違いが存在します。C ライブラリの差異については こちら に記述されています。
Arch Linux (や glibc を使用する他の環境) で動的リンクでビルドしたソフトウェアは Alpine Linux (や他の libc を使用する環境) で実行したときにバグやパフォーマンスの問題が発生する可能性があります。例としては [1], [2], [3] を見てください。
CentOS
以下のコマンドによって最新の Centos イメージが Docker Hub から取得されます:
# podman pull docker.io/centos
CentOS のリリースを指定するタグについては Docker Hub のページを見てください。
Debian
以下のコマンドによって最新の Debian イメージが Docker Hub から取得されます:
# podman pull docker.io/debian
利用可能なタグについては Docker Hub のページを見てください。各 Debian リリース毎に standard と slim バージョンが存在します。