Podmanの基本操作

はじめに

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

システム開発において、コンテナを使うことはよくあります。コンテナエンジンを言えば、Dockerが定番ですが、Podmanも選択肢の一つです。DockerDesktopは規模の大きい企業での商用利用に有償ライセンスが必要ですが、PodmanApache License 2.0を採用しており、企業での商用利用も無償で行えます、本記事では、Podmanの操作方法やDockerとの違いについてまとめていきます。

 

Podmanとは

PodmanRed Hatが開発したオープンソースのコンテナ管理ツールです。OCIOpen Container Initiative)規格に準拠しており、Dockerと同様にコンテナイメージのビルド・実行・管理が可能。

 

インストール

Podmanは公式のホームページ(https://podman.io/)からダウンロードできます。Podman Desktop Podman CLIの2種類があります。Podman DesktopDocker Desktopと同様のアプリで、GUIでコンテナの操作ができます。Podman Desktopを初回起動時にPodman CLIのインストール確認も行われるため、GUIを使う場合は別途Podman CLIのインストールは不要。

 

基本的な使い方

PodmanのコマンドはDockerとほぼ同じため、Dockerに慣れているのであれば違和感なく使えます。

 

Dockerfile
PodmanDockerfileもサポートしています。Podmanがサポートするファイル形式を調べると、Containerfileという名称も見られますが、これはPodman/Red Hatがより汎用的な名前として導入した、Dockerfile形式の別名です。

 

docker-compose.yml
Podmandocker-compose.ymlもサポート、以下のように起動できます。

 

注意点

PodmanDockerの機能をほぼサポートしていますが、一部未対応の機能もあります。以下にその一部を挙げます。

 Dockerfile関連
–mount=type=cache(一部のみサポート)
–mount=type=secret(挙動が異なる場合あり)
Windowsベースイメージ(Podmanでは実行不可)

 docker-compose.yml関連
/var/run/docker.sockのマウント(PodmanDockerソケットを持たない)
Swarm関連設定(Podmanは非対応)
・一部のネットワークドライバー未対応のものがある

 

まとめ

PodmanとDockerを同じの環境にインストールして同時に動かすとができます。イメージとコンテナはDockerとは別々で管理されます。PodmanのコマンドはDockerとほぼ同じで、dockerpodmanに置き換えるだけで大抵動きます。Dockerfiledocker-compose.ymlもほぼそのまま使えますが、一部Docker固有の機能が非対応なので要注意。

【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>

Smallitのサービス