Ahoj,
On 7/12/20 9:20 PM, Petr Kutalek wrote:
tuším, že Pavel Šnajdr na poslední schůzi v Praze říkal (volně převyprávěno), že je rád, když se lidi ozvou, protože to pak připomíná více komunitu, nikoli jen podporu á la firma. Tak já tedy jeden dotaz mám – týká se to Dockeru, resp. Podmana. :)
- Připravil jsem si lokálně na svém _lab_ desktopu image pro kontejnery a pody, které chci nasadit na VPSce. Vše OK, žádné extra vylomeniny. - Pročetl jsem https://kb.vpsfree.cz/navody/vps/vpsadminos/docker - Podíval jsem se na https://kb.vpsfree.cz/navody/vps/vpsadminos - Používám Arch, Podman v rootless režimu (z mnoha důvodů). - Povolil jsem ve features podporu FUSE (pro overlayfs) a TUN/TAP. - Nevím, co přesně dělá "Docker" feature, ale reálně nic nemění, výsledek je stejný.
Když se ale snažím spustit byť jen demo `podman run --rm hello-world`, nedaří se mi:
Error: container_linux.go:367: starting container process caused: process_linux.go:459: container init caused: process_linux.go:382: setting rlimits for ready process caused: error setting rlimit type 7: invalid argument: OCI runtime error
Narazil jste někdo při zprovoznění Dockeru na něco podobného? Můžete mne nasměrovat k cíli?
Resp. proč/v čem je nastavení Dockeru v našem virtualizačním řešení nějak specifické?
Hm, chvíli jsem si s tím hrál a tuhle chybu jsem nepotkal... na jakém to máš nodu? Mně to na Archu na node2.stg funguje. Co jsem nerozchodil je podman pod neprivilegovaným uživatelem, hello-world funguje, ale když zkusím pustit bash z ubuntu:latest, stěžuje si to "there might not be enough IDs available in the namespace". Přes to jsem se nedostal, i když mám snad /etc/sub{u,g}id nastaveno...
Tohle mi teda projde jak pod rootem, tak neprivilegovaným uživatelem na nově vytvořené VPS:
docker run --rm -it --cgroup-manager cgroupfs hello-world
Bez --cgroup-manager si to stěžuje že to potřebuje cgroupv2... Máš toho podmana aktuálního? Vidím třeba
https://github.com/containers/podman/pull/2126
Proč je to u nás s kontejnerama někdy složitější? Protože už VPS od nás je kontejner v user namespace, tj. omezenější prostředí a s tím musí docker/podman/whatever počítat. Kontejnery v kontejnerech v kontejnerech... jupí.
Ono i kontejnery tak jak je linux umí mají k dokonalosti hodně daleko, máme spoustů vlastních patchů v kernelu, aby se to vůbec dalo používat... poslední chuťovka je, že když teda řešíme memory limity VPS přes memory cgroup, OOM killer při nedostatku paměti vybere libovolný proces -- klidně ti sejme /sbin/init a tím celou VPS.
Jakub