Pod
ビルドできないのでimageから利用する形
ファイルではなく手順的なところから作るのでカスタマイズは不向き?
Podを作ったあとはPodman で単独コンテナ作成とほぼ同じ手順で追加できる volumeマウント、port指定がコンテナ単位ではなくpod全体でざっくり?
仮想ネットワークではなく localhost の同一アドレスで動作する?
基本的に1コンテナで使われることが多いようだ
Linux の cgroups (仮想環境を閉じ込めるもの) などを持っている?
docker run を 2つに分けるだけで pod が作れるのでおすすめ
分けなくてもコンテナをそのまま Pod に変換できる
設定ファイルに保存できるので記述は1度で済む
ポートは pod 側で指定する
$ podman pod create -p 8080:8080 --name example-pod
podman run に --pod と --name などを指定して -p を外す
$ podman run --pod example-pod --name ngixxx image
podman create に変えると実行せず作成のみ
$ podman create --pod example-pod --name ngixxx image
pod名とコンテナ名は重複できない
開始
$ podman pod start example-pod
停止
$ podman pod stop example-pod
削除
$ podman pod rm example-pod
YAML出力前提ならPodではなく単純にコンテナを作成するだけでもよい --name をつける
$ podman create --name example -p 8080:8080 image
kube generate で --name の名前を指定する
PodのYAMLを生成する
Pod設定の保存 Containerからも作成可能
$ podman kube generate example-pod -f example-pod.yaml
pod.yaml から実行
$ podman kube pley example-pod.yaml
停止
$ podman kube down example-pod.yaml
Podman Quadlet
DB
利点
systemd 登録が簡単 (Podman Quadlet Kube unit)
欠点
Docker Compose ではできる Dockerfile と連動できない