今回のとことんDevOps勉強会は「Docker互換のセキュアなコンテナ実行環境「Podman」超入門」と題して、日本仮想化技術の水野が、Podmanについて紹介しました。
近年では取り回しのしやすさや再現性の高さから、コンテナ技術が広く利用されています。その中でもDockerは特に有名で、多くの人が利用しています。しかし、Dockerはセキュリティの問題が指摘されており、セキュリティを重視する企業ではPodmanを利用することが増えてきています。
今回の勉強会では、Podmanの基本的な使い方やセキュアと言われている理由について紹介しました。Podmanを使うことで、Dockerと同じような使い勝手でセキュリティを重視したコンテナ実行環境を手に入れることができます。
勉強会に参加できなかった方にもぜひ見て頂きたいと思い、Youtubeでアーカイブ配信をしています。是非ご覧ください。当日参加できなかった方も、これを機会にとことんDevOps勉強会に興味を持っていただければと思います。また、当日いただいたQ&Aに関してもこちらのブログでまとめていますので、ぜひご覧ください。
セミナー動画
https://www.youtube.com/watch?v=Xpe-I4XFPqE
発表資料
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-compose
がdocker-compose
のラッパーではなく、podman compose
やdocker compose
のサブコマンド(compose
部分)がpodman内蔵のコマンドではなく、外部のコマンドです。
そのため、厳密にはdocker-compose
がラッパーされているわけではありません。
なので、docker-compose
は不要です。
おわりに
今回はPodmanについての勉強会を開催しました。PodmanはDockerと同じような使い勝手でセキュリティを重視したコンテナ実行環境を手に入れることができます。
Dockerのセキュリティの問題が指摘されている中、Podmanを使うことでセキュリティを重視したコンテナ実行環境を手に入れることができます。
これを機にPodmanを使ってみてはいかがでしょうか。