Rancher Desktop vs Podman Desktop
構成
Rancher Desktop
macOS では lima を fork して使っているぽい。
操作用の CLI である nerdctl
は Containerd が提供しているものを使っている。
nerdctl
は Docker compatible な CLI らしい。この辺見ると何が使えるのかわかる。ほぼ使えるんじゃないか。
Engine の切り替えも可能。 nerdctl
使用時は containerd
を、 docker
CLI 使用時は dockerd
を使用する形になっている。
k8s の操作もでき、細かくバージョン指定できる。
Podman Desktop
libpod ベースの root を要求しない POD MANager 。
POD は k8s の概念の pod のことか?
マネージャー用にデーモンが必要ない設計らしく、使用するリソースが少なく済む模様。
podman
コマンドを使う形になっているが、 Docker compatible とのこと。
提供元
Rancher Desktop
Rancher Labs 社が提供している。 Rancher Labs 社の主力製品は Rancher というもので、エンタープライズ用途の k8s マネージャーのようだ。
Rancher Labs 社は SUSE 社傘下。
また、 nerdctl
や containerd
を提供しているのは containerd。こちらは Cloud Native Computing Foundation の Graduated プロジェクト。
Podman Desktop
現在は containers が提供している。 containers の公式説明は次の通りで、 OSS としてコンテナー周りのツール群を作っていくという方向性らしい。
We're a collection of open source tools that create, configure, and work with containers.
もともとは Red Hat のエンジニアが作った libpod を使いやすいようにエコシステムを整備していったものが podman とのこと。
エッジケース検証
AWS CDK python バンドリング
env | result |
---|---|
Rancher Desktop containerd | ✗ |
Rancher Desktop dockerd | ○ |
Podman Desktop | ✗ |
考えられる対処は次か。
- Podman Desktop で使えるように PR を出す
- 詳細追ってないから原因わからない
-
TypeScript のバンドリングと同様、
bundling.forceDockerBundling
オプションを@aws-cdk/aws-lambda-python-alpha パッケージの bundling オプションでサポートする PR を出す
VSCode DevContainer
env | result |
---|---|
Rancher Desktop containerd | ✗ |
Rancher Desktop dockerd | ○ |
Podman Desktop | ✗ |