1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【脱Docker】Podmanを使ってみた!コンテナ時代の新たな選択肢を実例で解説

Posted at

【脱Docker】Podmanを使ってみた!コンテナ時代の新たな選択肢を実例で解説

images.png

コンテナ技術といえば真っ先に思い浮かぶのがDockerですが、最近話題のPodmanというツールをご存知でしょうか?

今回は、Dockerと同じように使えるけど実はそれ以上に「良いところがある」Podmanについて、実際の使用例を交えて紹介します!


✅ Podmanとは?

PodmanはRed Hat主導で開発されているOCI(Open Container Initiative)準拠のコンテナエンジンです。最大の特徴は以下の点です:

  • デーモンレス(Daemonless):root権限不要で動作可能
  • Docker互換CLIalias docker=podman でそのまま使える
  • セキュリティ重視:Rootlessコンテナが標準対応
  • シンプルなアーキテクチャ:systemdとの親和性が高い

🆚 DockerとPodmanの比較

特徴 Docker Podman
デーモン 常駐デーモンが必要 デーモンレス(CLIが直接操作)
Rootless対応 一部対応 フル対応(完全な非root運用)
CLI互換性 - ほぼ完全互換(Docker CLIそのまま)
systemd統合 手動対応 標準対応(podman generate systemd
Windows/Mac対応 Docker Desktopが必要 WSL経由で可能

🔧 実例:PodmanでNginxを立ち上げる

以下、Dockerと同様のコマンドでNginxコンテナを立ち上げてみます。

① Podmanインストール(Ubuntuの場合)

sudo apt update
sudo apt install podman

② Nginxを実行してみる

podman run -d -p 8080:80 nginx

ブラウザで http://localhost:8080 にアクセスすると、NginxのWelcomeページが表示されます。

③ Rootless動作確認

whoami   # 通常ユーザー
podman ps

rootユーザーではなくても、Podmanは普通に動作しています。これはDockerではできなかった点です。


⚙️ systemdサービス化の例(コンテナ自動起動)

Podmanの面白い機能の一つが「systemdユニットの自動生成」です。

podman generate systemd --name nginx -f

このコマンドで作成された .service ファイルを systemd に登録するだけで、コンテナが自動起動するようになります。


💬 使ってみた感想

良かった点:

  • Dockerとほぼ同じコマンド体系で学習コストが低い
  • セキュリティ的に安心(非rootで運用できる)
  • デーモン不要なので軽量&トラブルが少ない
  • systemdとの親和性が非常に高い

惜しい点:

  • GUIツールやエコシステムがDockerに比べるとまだ少なめ
  • WindowsやMacでの体験はWSLや仮想環境に依存する(Docker Desktopほど簡単ではない)

📌 まとめ

Podmanは「Dockerの完全な代替」ではなく、「よりセキュアで柔軟な代替手段」です。

開発・テスト・本番環境において、デーモンレス、非root運用、systemd統合という魅力を活かして、より軽快でセキュアなコンテナ運用が実現できます。

特に次のような方におすすめです:

  • セキュリティ重視の環境構築をしたい人
  • Dockerを使いたいがroot権限がない環境
  • systemdでサービスとしてコンテナを管理したい人
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?