Podman 5.0.0以降でrootlessのコンテナからホストに通信できない

created at
updated at

Podman

おま環かもしれないが一応書き残しておく

Podman 5.0.0よりrootlessのネットワークで slirp4netns ではなくpasta がデフォルトで使われるようになるというクソ采配が行われた
pastaの問題点は色々あるが一番大きな問題はホストに対しての通信ができない点で、host.containers.internal は引けなくなるし --add-hosthost-gateway を指定するとエラーになるしで本当に気が狂いそうになる
これでリリースしてしまったPodmanチームのことを大変恨んでいる訳だが、恨んでも通信できない事に変わりはないのでなんとかする

slirp4netnsに戻す
はい、pastaが動かないならslirp4netnsに戻せばいいだけですね、簡単。
コンテナのオプションで --network=slirp4netns を指定しても良いけれど、1個だけ動かなくて困ってるなんて事はまあないので全体の設定を修正する。
/etc/containers/containers.conf に以下の設定を投入すれば🆗
_
[network]
default_rootless_network_cmd = "slirp4netns"

/usr/share/containers/containers.conf にデフォルトの設定が置いてあるので、これをコピーして default_rootless_network_cmd のところだけ編集するのもアリ
良い子の皆はDocker使おうね