- 開発技術
Podmanの基本操作
- #Podman

はじめに
【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc. 詳細はこちらから>
システム開発において、コンテナを使うことはよくあります。コンテナエンジンを言えば、Dockerが定番ですが、Podmanも選択肢の一つです。DockerのDesktopは規模の大きい企業での商用利用に有償ライセンスが必要ですが、PodmanはApache License 2.0を採用しており、企業での商用利用も無償で行えます、本記事では、Podmanの操作方法やDockerとの違いについてまとめていきます。
Podmanとは
PodmanはRed Hatが開発したオープンソースのコンテナ管理ツールです。OCI(Open Container Initiative)規格に準拠しており、Dockerと同様にコンテナイメージのビルド・実行・管理が可能。
インストール
Podmanは公式のホームページ(https://podman.io/)からダウンロードできます。Podman Desktop と Podman CLIの2種類があります。Podman DesktopはDocker Desktopと同様のアプリで、GUIでコンテナの操作ができます。Podman Desktopを初回起動時にPodman CLIのインストール確認も行われるため、GUIを使う場合は別途Podman CLIのインストールは不要。
基本的な使い方
■PodmanのコマンドはDockerとほぼ同じため、Dockerに慣れているのであれば違和感なく使えます。
|
1 2 3 4 5 6 7 8 9 10 11 |
# イメージのプル $ podman pull nginx:latest # コンテナの起動(バックグラウンド) $ podman run -d --name my-nginx -p 8080:80 nginx:latest # 起動中のコンテナ確認 $ podman ps # コンテナの停止 $ podman stop my-nginx |
■Dockerfile
PodmanはDockerfileもサポートしています。Podmanがサポートするファイル形式を調べると、Containerfileという名称も見られますが、これはPodman/Red Hatがより汎用的な名前として導入した、Dockerfile形式の別名です。
|
1 2 |
# イメージビルド podman build -f <filename> . |
■docker-compose.yml
Podmanはdocker-compose.ymlもサポート、以下のように起動できます。
|
1 2 |
# サービス構成を起動 podman compose -f myfile.yml up |
注意点
PodmanはDockerの機能をほぼサポートしていますが、一部未対応の機能もあります。以下にその一部を挙げます。
■Dockerfile関連
・–mount=type=cache(一部のみサポート)
・–mount=type=secret(挙動が異なる場合あり)
・Windowsベースイメージ(Podmanでは実行不可)
■docker-compose.yml関連
・/var/run/docker.sockのマウント(PodmanはDockerソケットを持たない)
・Swarm関連設定(Podmanは非対応)
・一部のネットワークドライバー未対応のものがある
まとめ
PodmanとDockerを同じの環境にインストールして同時に動かすとができます。イメージとコンテナはDockerとは別々で管理されます。PodmanのコマンドはDockerとほぼ同じで、dockerをpodmanに置き換えるだけで大抵動きます。Dockerfileとdocker-compose.ymlもほぼそのまま使えますが、一部Docker固有の機能が非対応なので要注意。
【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>



