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