Fórum Root.cz

Hlavní témata => Distribuce => Téma založeno: A. F. 23. 07. 2020, 04:15:49

Název: Docker v Fedoře 32
Přispěvatel: A. F. 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?
Název: Re:Docker v Fedoře 32
Přispěvatel: okalousek 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
Název: Re:Docker v Fedoře 32
Přispěvatel: kate 23. 07. 2020, 10:03:13
Druhá možnost je naučit se používat podman :)
Název: Re:Docker v Fedoře 32
Přispěvatel: A. F. 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.
Název: Re:Docker v Fedoře 32
Přispěvatel: A. F. 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.
Název: Re:Docker v Fedoře 32
Přispěvatel: okalousek 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
Název: Re:Docker v Fedoře 32
Přispěvatel: kate 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