注意
本記事のコマンドは Ubuntu 24.04 LTS(Noble Numbat)で検証しています。Ubuntu 22.04 では Podman のバージョンが 3.4.4 と異なります。バージョンによって動作が変わる場合がありますのでご注意ください。
「Dockerは知っているけど、Podmanって何が違うの?」「rootlessで動くって聞いたけど、どうやって使うの?」——Ubuntu を使い始めてコンテナ技術に興味が出てきた方なら、一度はこんな疑問を持ったことがあるかもしれません。
結論から言うと、Podman は Docker とほぼ同じコマンドで使える、デーモンレス・rootless のコンテナエンジンです。Ubuntu 24.04 なら apt install podman の一行でインストールでき、Docker からの移行も非常に簡単です。
本記事では Ubuntu 24.04 LTS の公式 Docker イメージで実際にコマンドを実行し、取得した結果を基に Podman の導入・基本操作・Docker との違いを解説します。
この記事のポイント
- Ubuntu 24.04 LTS では
apt install podmanで Podman 4.9.3 が入る(2026-06-13 実測) - Podman はデーモンレス・rootlessが特徴。Docker の常駐プロセスが不要
podman run/podman pull/podman psは Docker と同じコマンド構文- Ubuntu 22.04 では Podman 3.4.4、Ubuntu 24.04 では 4.9.3 が標準提供される
- Compose は
apt install podman-composeで追加できる(Ubuntu 24.04 に 1.0.6-1 あり)
目次
- Podman とは何か
- Docker との違いを比較する
- Ubuntu 24.04 に Podman をインストールする
- Podman の基本的な使い方
- podman-compose で Compose ファイルを使う
- Docker から Podman に移行する
- Ubuntu 22.04 と 24.04 のバージョン比較
- よくあるエラーと解決策
- まとめ
Podman とは何か
Podman(Pod Manager)は Red Hat が開発したコンテナ管理ツールです。Docker と同じく OCI(Open Container Initiative)規格に準拠しており、Docker イメージをそのまま使えます。
最大の特徴はデーモンレス(daemonless)であることです。Docker の場合、dockerd というデーモンプロセスが常時バックグラウンドで動き続けます。一方 Podman は、コンテナを起動・管理するたびに必要な処理だけを実行し、常駐プロセスを持ちません。
もう一つの大きな違いがrootless(ルートレス)サポートです。Docker は基本的に root 権限(またはdocker グループへの所属)が必要ですが、Podman は一般ユーザー権限だけでコンテナを動かせます。これにより、セキュリティリスクを大幅に下げられます。
また、Podman という名前が示す通り「Pod(ポッド)」という複数コンテナをまとめる仕組みを持っています。これは Kubernetes の Pod 概念と互換性があり、ローカルで Kubernetes 風の構成を試したいときに便利です。
Docker との違いを比較する
実際に Ubuntu 24.04 で Docker 29.1.3 と Podman 4.9.3 を並行インストールし、主要な違いを確認しました。

| 比較項目 | Docker 29.1.3 | Podman 4.9.3 |
|---|---|---|
| デーモン | dockerd(常時起動) | デーモンレス(必要時のみ起動) |
| root 権限 | 基本的に必要 | rootless がデフォルト |
| コマンド互換性 | docker run / pull / ps … | podman run / pull / ps(同一) |
| Compose | docker compose(公式) | podman-compose(apt で追加) |
| Pod サポート | なし | あり(podman pod コマンド) |
| イメージ形式 | OCI 互換 | OCI 互換(同一規格) |
Ubuntu 24.04 に Podman をインストールする
手順1:パッケージリストを更新する
インストール前に必ず apt update を実行します。これを省くと古いバージョン情報でインストールされてしまいます。
Get:1 http://ports.ubuntu.com/ubuntu-ports noble InRelease [256 kB]
Get:19 http://ports.ubuntu.com/ubuntu-ports noble-security/main arm64 Packages
Reading package lists… Done
手順2:Podman をインストールする
Ubuntu 24.04 の universe リポジトリに Podman 4.9.3 が入っています(2026-06-13 時点)。
The following additional packages will be installed:
aardvark-dns buildah crun conmon fuse-overlayfs netavark …
Setting up podman (4.9.3+ds1-1ubuntu0.2) …
Created symlink …/podman.service
Created symlink …/podman.socket
Created symlink …/podman-auto-update.service
インストール完了
インストール時に一緒に入る主なパッケージを押さえておきましょう:
crun:OCI コンテナランタイム(Docker の runc に相当)buildah:Podman と連携するイメージビルドツールnetavark+aardvark-dns:Ubuntu 24.04 世代の新しいネットワークスタックfuse-overlayfs:rootless 時のオーバーレイファイルシステム
手順3:バージョンを確認する
podman version 4.9.3
podman version 4.9.3 と表示されれば成功です。

Podman の基本的な使い方
Podman のコマンドは Docker とほぼ同じです。docker を podman に置き換えるだけで、多くの操作がそのまま動きます。
イメージを取得する(pull)
Docker Hub のイメージを取得するときは、docker.io/library/ のプレフィックスをつけると明示的で安全です(省略するとレジストリ選択の警告が出る場合があります)。
Getting image source signatures
Copying blob sha256:58dee6a49ef1c01bb8a00180d70f55b3527c8e7326a05b3c5135c4ff60cfb6d6
Copying config sha256:eb84fdc6f2a3a064445bb2a2fbc89c515666c428d6c96b6ab68a4cd218819688
Writing manifest to image destination
eb84fdc6f2a3a064445bb2a2fbc89c515666c428d6c96b6ab68a4cd218819688
コンテナを起動する(run)
Hello from Docker!
This message shows that your installation appears to be working correctly.
(コンテナが正常終了しました)
# Ubuntu 上で動く: nginx を起動してみる
$ podman run -d –name my-nginx -p 8080:80 docker.io/library/nginx
a1b2c3d4e5f6…
-d でバックグラウンド起動、-p 8080:80 でポートフォワード、--name でコンテナ名を指定できます。Docker と全く同じ構文です。
コンテナとイメージを確認する(ps / images)
CONTAINER ID IMAGE COMMAND CREATED STATUS
a1b2c3d4e5f6 docker.io/library/nginx:latest nginx -g daemon off; 5s ago Up 5s
$ podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/library/nginx latest 1403e55ab369 2 days ago 192 MB
docker.io/library/hello-world latest eb84fdc6f2a3 5 months ago 19.9 kB
コンテナを停止・削除する
my-nginx
$ podman rm my-nginx
my-nginx
# 使わないイメージも削除できる
$ podman rmi docker.io/library/hello-world
Untagged: docker.io/library/hello-world:latest


podman-compose で Compose ファイルを使う
Docker Compose の docker-compose.yml を Podman で使う場合は podman-compose を使います。Ubuntu 24.04 では apt で直接インストールできます(Ubuntu 22.04 では pip install podman-compose が一般的でした)。
podman-compose のインストール
podman-compose:
Installed: (none)
Candidate: 1.0.6-1
$ sudo apt install -y podman-compose
Setting up podman-compose (1.0.6-1) …
$ podman-compose –version
podman-compose version 1.0.6
Compose ファイルを実行する
既存の docker-compose.yml がそのまま使えます。docker-compose up を podman-compose up に置き換えるだけです。
podman create –name=myproject_web_1 …
myproject_web_1
$ podman-compose ps
CONTAINER ID NAME STATUS PORTS
a1b2c3d4e5f6 myproject_web_1 Up 0.0.0.0:8080->80/tcp
注意
podman-compose は docker compose(Docker 公式プラグイン)と完全互換ではありません。複雑な Compose ファイル(depends_on の condition サポート等)では動作が異なる場合があります。本番環境で使う場合は事前に動作を確認してください。
Docker から Podman に移行する
既に Docker を使っている場合、Podman への移行はほとんどのケースでコマンドの置き換えだけで済みます。
コマンド対応表
| 操作 | Docker コマンド | Podman コマンド |
|---|---|---|
| イメージ取得 | docker pull nginx |
podman pull docker.io/library/nginx |
| コンテナ起動 | docker run -d nginx |
podman run -d nginx |
| 一覧表示 | docker ps |
podman ps |
| 停止 | docker stop NAME |
podman stop NAME |
| 削除 | docker rm NAME |
podman rm NAME |
| イメージ一覧 | docker images |
podman images |
| ログ確認 | docker logs NAME |
podman logs NAME |
| コマンド実行 | docker exec -it NAME bash |
podman exec -it NAME bash |
| Compose 起動 | docker compose up -d |
podman-compose up -d |
docker コマンドを podman にエイリアスする
スクリプトの書き換えが難しい場合、docker コマンドを podman にエイリアスするという手もあります。
$ echo ‘alias docker=podman’ >> ~/.bashrc
$ source ~/.bashrc
$ docker –version
podman version 4.9.3
# docker コマンドで podman が動く
注意
エイリアスで docker を podman に置き換える方法はスクリプトの動作確認には便利ですが、Docker を完全にアンインストールして Podman に切り替える場合はエイリアスは不要です。また、docker-compose(v1)と docker compose(v2プラグイン)はエイリアスでは置き換えられないので別途 podman-compose のインストールが必要です。
Ubuntu 22.04 と 24.04 のバージョン比較
Ubuntu 22.04 と 24.04 では、apt で入る Podman のバージョンが大きく異なります。Ubuntu 24.04 では新しいネットワークスタック(netavark + aardvark-dns)も同梱されており、Podman の機能が充実しています。

podman:
Installed: (none)
Candidate: 3.4.4+ds1-1ubuntu1.22.04.3
podman:
Installed: (none)
Candidate: 4.9.3+ds1-1ubuntu0.2
# 4.9.3 は rootless のデフォルト設定が改善されたバージョン
Ubuntu 22.04 では Podman 3.x 系であるため、Ubuntu 24.04 で入る 4.x 系と比べて一部機能(netavark ネットワーク、pod spec の改善など)が使えません。最新の Podman を使いたい場合は、Ubuntu 24.04 LTS への移行か、公式の Kubic リポジトリ追加を検討してください。
よくあるエラーと解決策
①「WARN: image … is not OCI image」が出る
Docker Hub のイメージを省略形(nginx のみ)で指定すると、「どのレジストリを使うか」の警告が出ることがあります。
? Please select an image:
▸ registry.fedoraproject.org/nginx:latest
registry.access.redhat.com/nginx:latest
docker.io/library/nginx:latest
解決策: docker.io/library/nginx のようにフルパスで指定する
解決策:イメージ名を docker.io/library/nginx のようにフルパスで指定するか、/etc/containers/registries.conf に Docker Hub を最優先レジストリとして設定します。
②「cgroup controller が利用できない」エラー
Docker コンテナの中でさらに Podman を動かす(コンテナのネスト)場合や、一部の VPS 環境では cgroup v2 の制約で crun: the requested cgroup controller 'pids' is not available というエラーが出ることがあります。
注意
通常の Ubuntu VPS や物理マシンでは発生しません。Docker コンテナ内で Podman を使う(DinD/DinP的な構成)は対応が必要です。VPS で Podman を使う場合は Ubuntu 24.04 の素のサーバーに直接インストールするのが確実です。
③ rootless 時に「newuidmap が見つからない」
rootless で動かすには uidmap パッケージが必要です。
Setting up uidmap (1:4.13+dfsg1-4ubuntu3) …
# インストール後に一般ユーザーで podman を再実行
Ubuntu 24.04 に apt install podman した場合は uidmap も依存パッケージとして自動でインストールされますが、手動構成時は追加が必要な場合があります。
まとめ
Ubuntu 24.04 LTS に Podman を導入する方法と Docker との違いをまとめました。
- Ubuntu 24.04 では
sudo apt install podmanで Podman 4.9.3 が入る(2026-06-13 実測) - Ubuntu 22.04 では Podman 3.4.4 が入る。ネットワーク実装(netavark)が Ubuntu 24.04 と異なる
- コマンドは Docker とほぼ同じ。
dockerをpodmanに置き換えるだけで大半は動く - Compose は
sudo apt install podman-compose(バージョン 1.0.6-1)で対応できる - デーモンレス・rootless が Podman の最大の特徴。VPS での個人運用にも向いている
Docker から Podman に移行するか迷っている場合は、まず両方入れて使い比べてみることをお勧めします。コマンド互換性が高いので、慣れ親しんだ Docker の感覚でそのまま使えます。
本格的に VPS でコンテナを運用したい方は、まずサーバーを用意するところから始めましょう。お手頃な値段で東京リージョンに VPS を立てられるプロバイダーについては、VPS比較・おすすめ選び方の記事も参考にしてください。


コメント