Docker v Fedoře 32

A. F.

Docker v Fedoře 32
« kdy: 23. 07. 2020, 04:15:49 »
Aktualizoval jsem si na Fedoru 32 a teď bojuju s dockerem.

Když nainstaluju `docker-ce`, tak mi to chcípá na cgroups. Když nainstaluju `moby-engine`, tak je to podobné.

Když nainstaluju `podman-docker` tak to celkem funguje, ale pod rootem: mi to vytváří container s IP nějak 10.80.8.8. Dá se to nějak ovlivnit? Ale hlavní problém mám s tím, že pod obyč userem vytvořím container, ale není mu přiřazená žádná IP. A mě se nepovedlo vyzkoumat, kde se to nastavuje.

Můžete mi poradit? Kde se dá ovlivnit ta IP adresa?


Re:Docker v Fedoře 32
« Odpověď #1 kdy: 23. 07. 2020, 09:35:10 »
1. podman-docker je jen docker alias pro Podman
2. Zkuste přidat k parametrům jádra
systemd.unified_cgroup_hierarchy=0
V souboru /etc/default/grub do GRUB_CMDLINE_LINUX

Poté stačí vygenerovat nastavení zavaděče
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Nebo pro počítač bez UEFI:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

To by měl docker fungovat

kate

Re:Docker v Fedoře 32
« Odpověď #2 kdy: 23. 07. 2020, 10:03:13 »
Druhá možnost je naučit se používat podman :)

A. F.

Re:Docker v Fedoře 32
« Odpověď #3 kdy: 23. 07. 2020, 14:31:43 »
1. podman-docker je jen docker alias pro Podman
2. Zkuste přidat k parametrům jádra
systemd.unified_cgroup_hierarchy=0
V souboru /etc/default/grub do GRUB_CMDLINE_LINUX

Poté stačí vygenerovat nastavení zavaděče
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Nebo pro počítač bez UEFI:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

To by měl docker fungovat
OK, to je dost zběsilost ale ok. A tento návod se týká které varianty? Té s podman-docker? U něj jsem neměl problém s cgroup. U něj jsem měl problém že nerozumím těm IP adresám.

A. F.

Re:Docker v Fedoře 32
« Odpověď #4 kdy: 23. 07. 2020, 14:37:19 »
Druhá možnost je naučit se používat podman :)

Nejsem v zásadě proti. Ale jak tedy?

Můj momentální styl práce s dockerem (který mi teda maximálně vyhovuje), že si vytvořím kontainer s mysql, zjistím jakou má IP (172.17.0.2). Pak si vytvořím mariu, zjistí jako má IP (172.17.0.3), pak si vytvořím php5.6webserver IP (172.17.0.4), php7.2webserver IP (172.17.0.5). Následně různě přehazuju propojuju a tak. Zapamatoval jsem si, že když budu spouštět ty kontainery v tomto pořadí, tak budou dostávat v tomto pořadí IP adresy.

Ano, vím o Kubernets, a spol - ale k tomu jsem ještě nedozrál. Jde to bez nich, postaru způsobem, kterým jsem popsal?

Díky.


Re:Docker v Fedoře 32
« Odpověď #5 kdy: 23. 07. 2020, 17:20:55 »
1. podman-docker je jen docker alias pro Podman
2. Zkuste přidat k parametrům jádra
systemd.unified_cgroup_hierarchy=0
V souboru /etc/default/grub do GRUB_CMDLINE_LINUX

Poté stačí vygenerovat nastavení zavaděče
sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Nebo pro počítač bez UEFI:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

To by měl docker fungovat
OK, to je dost zběsilost ale ok. A tento návod se týká které varianty? Té s podman-docker? U něj jsem neměl problém s cgroup. U něj jsem měl problém že nerozumím těm IP adresám.

To je pro ten Docker jak jsem zmínil nakonec, protože podman-docker jen přidá alias docker=podman

kate

Re:Docker v Fedoře 32
« Odpověď #6 kdy: 23. 07. 2020, 18:43:59 »
Druhá možnost je naučit se používat podman :)

Nejsem v zásadě proti. Ale jak tedy?

Můj momentální styl práce s dockerem (který mi teda maximálně vyhovuje), že si vytvořím kontainer s mysql, zjistím jakou má IP (172.17.0.2). Pak si vytvořím mariu, zjistí jako má IP (172.17.0.3), pak si vytvořím php5.6webserver IP (172.17.0.4), php7.2webserver IP (172.17.0.5). Následně různě přehazuju propojuju a tak. Zapamatoval jsem si, že když budu spouštět ty kontainery v tomto pořadí, tak budou dostávat v tomto pořadí IP adresy.

Ano, vím o Kubernets, a spol - ale k tomu jsem ještě nedozrál. Jde to bez nich, postaru způsobem, kterým jsem popsal?

Díky.

Rootfull kontejnery:
Kód: [Vybrat]
sudo podman inspect -f "{{.NetworkSettings.IPAddress}}" <jmenokontejneru> Rootless kontejnery: Ty IP adresu nedostávají. Komunikace je možná přes mapování portů (80 v kontejneru na 8080 v localhostu, třeba). Ideální je naházet kontejnery které spolu komunikují navzájem do jednoho podu.

Jinak tohle je docela obsáhlé vysvětlení https://www.redhat.com/sysadmin/container-networking-podman