付録A:コマンドリファレンス
基本コマンド
コンテナ管理
# コンテナの実行
podman run [OPTIONS] IMAGE [COMMAND]
# コンテナの一覧表示
podman ps [OPTIONS]
# コンテナの停止
podman stop [OPTIONS] CONTAINER
# コンテナの削除
podman rm [OPTIONS] CONTAINER
# コンテナへの接続
podman exec [OPTIONS] CONTAINER COMMAND
# コンテナのログ確認
podman logs [OPTIONS] CONTAINER
イメージ管理
# イメージの取得
podman pull [OPTIONS] IMAGE
# イメージの一覧表示
podman images [OPTIONS]
# イメージのビルド
podman build [OPTIONS] PATH
# イメージのタグ付け
podman tag SOURCE_IMAGE TARGET_IMAGE
# イメージの削除
podman rmi [OPTIONS] IMAGE
# イメージのプッシュ
podman push [OPTIONS] IMAGE
ボリューム管理
# ボリュームの作成
podman volume create [OPTIONS] [VOLUME]
# ボリュームの一覧表示
podman volume ls [OPTIONS]
# ボリュームの詳細表示
podman volume inspect [OPTIONS] VOLUME
# ボリュームの削除
podman volume rm [OPTIONS] VOLUME
# ボリュームのプルーニング
podman volume prune [OPTIONS]
ネットワーク管理
# ネットワークの作成
podman network create [OPTIONS] NETWORK
# ネットワークの一覧表示
podman network ls [OPTIONS]
# ネットワークの詳細表示
podman network inspect [OPTIONS] NETWORK
# ネットワークの削除
podman network rm [OPTIONS] NETWORK
# ネットワークへの接続
podman network connect [OPTIONS] NETWORK CONTAINER
# ネットワークからの切断
podman network disconnect [OPTIONS] NETWORK CONTAINER
よく使うオプション
podman run オプション
| オプション |
説明 |
例 |
| ———– |
―――― |
―――― |
-d, --detach |
バックグラウンドで実行 |
podman run -d nginx |
-i, --interactive |
標準入力を開く |
podman run -i alpine |
-t, --tty |
擬似TTYを割り当て |
podman run -it alpine sh |
--rm |
終了時に自動削除 |
podman run --rm alpine |
-p, --publish |
ポートマッピング |
podman run -p 8080:80 nginx |
-v, --volume |
ボリュームマウント |
podman run -v /host:/container alpine |
-e, --env |
環境変数設定 |
podman run -e VAR=value alpine |
--name |
コンテナ名設定 |
podman run --name myapp nginx |
-m, --memory |
メモリ制限 |
podman run -m 512m alpine |
--cpus |
CPU制限 |
podman run --cpus 0.5 alpine |
podman build オプション
| オプション |
説明 |
例 |
| ———– |
―――― |
―――― |
-t, --tag |
イメージタグ |
podman build -t myapp:latest . |
-f, --file |
Dockerfile指定 |
podman build -f custom.dockerfile . |
--no-cache |
キャッシュ無効化 |
podman build --no-cache . |
--pull |
最新ベースイメージ取得 |
podman build --pull . |
--build-arg |
ビルド引数 |
podman build --build-arg VERSION=1.0 . |
systemd統合
Quadletによるユニット定義(推奨)
2026年5月23日時点の Podman 公式ドキュメントでは、systemd 配下でコンテナや Pod を管理する
新規運用には Quadlet の利用が推奨されています。rootless 運用では、ユーザー単位の
~/.config/containers/systemd/ 配下へ定義ファイルを置き、systemctl --user で管理します。
# rootless ユーザーサービス用の Quadlet 定義
mkdir -p ~/.config/containers/systemd
cat > ~/.config/containers/systemd/myapp.container <<'EOF'
[Unit]
Description=My Podman application
Wants=network-online.target
After=network-online.target
[Container]
Image=registry.example.com/team/myapp:1.0.0
ContainerName=myapp
PublishPort=8080:8080
Volume=myapp-data:/var/lib/myapp:Z
[Service]
Restart=on-failure
TimeoutStartSec=900
[Install]
WantedBy=default.target
EOF
# systemd に Quadlet 定義を再読込させ、有効化して起動
# [Install] の WantedBy= は enable 時のリンク先を定義する
systemctl --user daemon-reload
systemctl --user enable --now myapp.service
systemctl --user status myapp.service
既存ユニットの生成(互換・移行調査用)
# `podman generate systemd` は deprecated。新規運用は Quadlet を優先する。
# 既存コンテナからユニットファイルを確認する場合
podman generate systemd --name CONTAINER > container.service
# 新規コンテナ用ユニットファイル生成
podman generate systemd --new --name CONTAINER > container.service
# ファイルオプション付き
podman generate systemd --files --name CONTAINER
systemdサービス管理
# ユーザーサービスとして登録
systemctl --user daemon-reload
systemctl --user enable container.service
systemctl --user start container.service
# システムサービスとして登録(root)
sudo systemctl daemon-reload
sudo systemctl enable container.service
sudo systemctl start container.service
Pod管理
# Podの作成
podman pod create --name mypod
# Pod内でコンテナ実行
podman run --pod mypod -d nginx
podman run --pod mypod -d redis
# Podの状態確認
podman pod ps
podman pod inspect mypod
# Podの停止・削除
podman pod stop mypod
podman pod rm mypod
トラブルシューティング用コマンド
# システム情報表示
podman info
# バージョン確認
podman version
# イベント監視
podman events
# システムプルーニング(注意: 未使用リソースが削除される)
podman system prune
# 影響が大きいプルーニング(未使用イメージも削除されるため注意)
podman system prune --all
# リセット(注意: データ消失。原則としてテスト環境でのみ実行)
podman system reset
# デバッグログ有効化
podman --log-level=debug run alpine