とことんDevOps | 日本仮想化技術のDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けする「とことんDevOps」では、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果、TipsなどDevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、コンテナ開発、IaCなど
読者登録と各種SNSのフォローもよろしくお願いいたします。

イベントレポート 第24回とことんDevOps勉強会「Docker互換のセキュアなコンテナ実行環境「Podman」超入門」

今回のとことんDevOps勉強会は「Docker互換のセキュアなコンテナ実行環境「Podman」超入門」と題して、日本仮想化技術の水野が、Podmanについて紹介しました。

近年では取り回しのしやすさや再現性の高さから、コンテナ技術が広く利用されています。その中でもDockerは特に有名で、多くの人が利用しています。しかし、Dockerはセキュリティの問題が指摘されており、セキュリティを重視する企業ではPodmanを利用することが増えてきています。

今回の勉強会では、Podmanの基本的な使い方やセキュアと言われている理由について紹介しました。Podmanを使うことで、Dockerと同じような使い勝手でセキュリティを重視したコンテナ実行環境を手に入れることができます。

勉強会に参加できなかった方にもぜひ見て頂きたいと思い、Youtubeでアーカイブ配信をしています。是非ご覧ください。当日参加できなかった方も、これを機会にとことんDevOps勉強会に興味を持っていただければと思います。また、当日いただいたQ&Aに関してもこちらのブログでまとめていますので、ぜひご覧ください。

セミナー動画

https://www.youtube.com/watch?v=Xpe-I4XFPqE

発表資料

https://speakerdeck.com/devops_vtj/dockerhu-huan-nosekiyuanakontenashi-xing-huan-jing-podman-chao-ru-men

Q&A まとめ

podmanにdocker-composeのような機能があるのか

質問

podmanにdocker-composeにあたるものはありますか?

回答

はい、あります。podmanはpodman-composeといい、compose.ymlも同じものを使用できます。

Buildahの解説について

質問

Buildahについても解説して欲しい

回答

QAタイム内で解説するには時間が足りませんので、この場での解説は難しいです。次回以降の要望として参考にさせていただきます。

Podmanの信頼性や安定性、費用面について

質問

会社でやるとなるとPodmanの信頼性(安定性や更新度など)と、既存dockerからの移行性が気になります。留意する点はありますか?
また費用面はいかがでしょうか。実は高度なことをしようとすると高額費用がかかるなどありますか?

回答

Red Hatが全体的にPodmanに寄ていっているため、その点をどのように評価するかにもよりますが、一定の信頼性はあるのではないでしょうか。昨今のOSSまわりの情勢を踏まえるとこのような動きを信頼や安心と捉えるか不安材料と捉えるかは人それぞれに感じ方が異なるかもしれません。

移行性に関しては、特別な移行作業などは不要でdockerを削除してPodmanをインストールするだけで使えるため、移行性は高いと言えるのではないでしょうか。

費用面に関しては、OSSとして無料で提供されているため、費用はかかりません。弊社で把握している範囲では、有料化などの話は聞いていません。

Podmanのsystemdとジャーナリングについて

質問

プレゼンで説明して頂いたのですが、混乱したことがあります。
Podmanコンテナの中のsystemdでジャーナリングが取れるのか、コンテナの中のジャーナリングがホストのジャーナリングに流れてくるのかどっちでしょうか?

回答

コンテナの中で動かしているプロセスのログがホストのジャーナルで取得できます。

Podman Desktopについて

質問

Podman Desktopっていけてますか?

回答

普段使用しているものがMacなのですが、一応インストールはしています。ただ、(登壇者としては)GUIをあまり使わないので、実際のところの使い勝手はわかりません。
弊社の他メンバーからの感想をまとめると、Docker Desktopとほぼ同じようなことはできると思いますが、何かデメリットを解消して高いユーザー体験を得られるのかというと、そうではなく必要最低限のサポートという感じの印象でした。

WindowsでPodmanを使う方法/MacでPodmanを使う方法

質問

WindowsでPodmanを使う方法はありますか?

回答

Podman Desktopを入れることでWindowsでもMacでもPodmanを使うことができます。Windowsの場合は、WSL2を使うことでLinuxの環境を作ることができるので、その上でPodmanを使うことができます。

podman composeはdocker-composeのラッパーコマンド

質問

podman composeはPodman自体の実装コマンドではなく、docker-compose(またはpodman-compose)のラッパーコマンドです。
ですので実際に実行するのはdocker-composeです。

回答

補足ありがとうございます。

PodmanにDocker Swarmみたいなものがあるか

質問

PodmanにDocker Swarmみたいなソリューションはありますか?

回答

Podmanで同じ様な機能やサービスはないと思います。

少し話が逸れるかもしれませんが、PodmanはDockerのローカルで使うところをメインにサポートしているので、Kubernetesランタイムとして使いたい場合は、CRI-Oを使うことが多いです。
なので、Podmanはコンテナランタイムとしては使えません。

Macで、podmanとdockerの共存について

質問

Macで、podmanとdockerを両方入れていても問題ないですか?

回答

問題ないです。PodmanはDockerとは別のコンテナランタイムなので、両方入れて使うことができます。
両方を使うメリットはあまりないと思いますので、使い勝手を試してからどちらかを選択した方がいいかもしれません。

docker-composeは必要

質問

podman-composeがdocker-composeのラッパーならば、docker-composeは必要?

回答

podman-composedocker-composeのラッパーではなく、podman composedocker composeのサブコマンド(compose部分)がpodman内蔵のコマンドではなく、外部のコマンドです。
そのため、厳密にはdocker-composeがラッパーされているわけではありません。

なので、docker-composeは不要です。

おわりに

今回はPodmanについての勉強会を開催しました。PodmanはDockerと同じような使い勝手でセキュリティを重視したコンテナ実行環境を手に入れることができます。
Dockerのセキュリティの問題が指摘されている中、Podmanを使うことでセキュリティを重視したコンテナ実行環境を手に入れることができます。
これを機にPodmanを使ってみてはいかがでしょうか。