Uživatelské nástroje

Nástroje pro tento web


navody:vps:vpsadminos:docker

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
Následující verzeObě strany příští revize
navody:vps:vpsadminos:docker [2018/06/11 19:04] – test network rmarkonavody:vps:vpsadminos:docker [2019/10/16 17:31] – přidána informace o overlayfs pro docker martyet
Řádek 1: Řádek 1:
 <page>manuals:vps:vpsadminos:docker</page> <page>manuals:vps:vpsadminos:docker</page>
 ====== Docker na vpsAdminOS ====== ====== Docker na vpsAdminOS ======
-Na vpsAdminOS je funkční Docker v aktuální verzi (v době psaní 18.03) s VFS +Na vpsAdminOS je funkční Docker v aktuální verzi (v době psaní 19.03) s overlayfs driverem.
-storage driverem.+
  
 ===== Instalace ===== ===== Instalace =====
Řádek 8: Řádek 7:
  
 Docker instalujte z repozitářů na docker.com, nedoporučujeme používat Docker Docker instalujte z repozitářů na docker.com, nedoporučujeme používat Docker
-z distribučních repozitářů, protože bývá starší a můžou tam mít nějaké patche. +z distribučních repozitářů, protože bývá starší a můžou tam mít nějaké patche 
-Instalujte podle návodu:+navíc. Instalujte podle návodu:
  
-  * [[https://docs.docker.com/install/linux/docker-ce/ubuntu/|Ubuntu 18.04]] (místo //stable// repozitáře použijte //test//, dokud se Docker neuráčí [[https://github.com/docker/for-linux/issues/290|vydat stable verzi]])+  * [[https://docs.docker.com/install/linux/docker-ce/ubuntu/|Ubuntu 18.04]]
   * [[https://docs.docker.com/install/linux/docker-ce/fedora/|Fedora 28]]   * [[https://docs.docker.com/install/linux/docker-ce/fedora/|Fedora 28]]
-  * [[https://docs.docker.com/install/linux/docker-ce/debian/|Debian 9]] (pozor na [[#zname_problemy|známé problémy]])+  * [[https://docs.docker.com/install/linux/docker-ce/debian/|Debian 9]]
  
-Následně upravte ''docker.service'' takaby se nepokoušel nastavovat +Fungovat mohou samozřejmě i jiné distribuceale uvádíme jen ty, které jsme testovali. 
-AppArmor:+ 
 +Ověříme, zda běží docker v pořádku:
  
 <code> <code>
-mkdir -p /etc/systemd/system/docker.service.d +systemctl status docker.service
-cat <<EOF > /etc/systemd/system/docker.service.d/override.conf  +
-[Service] +
-Environment=container=lxc +
-EOF +
-systemctl daemon-reload +
-systemctl restart docker.service+
 </code> </code>
  
-Dále je potřeba vytvořit si vlastní //network//. Výchozí bridge totiž používá +<note> 
-''MASQUERADE'', což nastavuje jako zdrojovou adresu první IP adresu z rozhraní, +Pokud nenaběhne ''docker.service'', že se jednat o tento už opravený [[https://github.com/containerd/containerd/issues/2772|bug v containerd]]. Řešením je buď 
-která je nás adresa spojovací, ne veřejnáProto si vytváříme vlastní síť, kde +nahradit ''/sbin/modprobe'', nebo upravit ''containerd.service''změnit 
-místo ''MASQUERADE'' používáme ''SNAT''zdrojovou IP si nastavíme manuálně. +volbu ''ExecStartPre''.
 <code> <code>
-docker network create --attachable \ +mv /sbin/modprobe /sbin/modprobe.old && ln -s /bin/true /sbin/modprobe
-                      --opt 'com.docker.network.bridge.name=bridge-coi'+
-                      --opt 'com.docker.network.bridge.enable_ip_masquerade=false'+
-                      bridge-coi +
- +
-iptables -t nat -A POSTROUTING -s 172.18.0.0/16 ! -o bridge-coi -j SNAT --to-source <veřejná IPv4 adresa VPS>+
 </code> </code>
- +</note>
-Kontejnery, které potřebují funkční připojení k internetu spouštějte +
-s přepínačem ''%%--network bridge-coi%%''.+
  
 Nyní můžete zkusit ''docker run hello-world'': Nyní můžete zkusit ''docker run hello-world'':
Řádek 55: Řádek 41:
 </code> </code>
  
-Networking otestujeme pomocí+Networking otestujeme pomocí:
 <code> <code>
-docker run --network bridge-coi -i -t alpine ping -c 3 vpsfree.cz+docker run -it alpine ping -c 3 vpsfree.cz
 </code> </code>
  
 ===== Storage driver ===== ===== Storage driver =====
-Aktuálně funguje jen //VFS// storage driver. Ten je pomalejší a náročnější na 
-diskový prostor než overlayfs/zfs/btrfs drivery. Chtěli bychom zprovoznit ZFS 
-driver, nicméně ZFS on Linux ještě neumí delegovat datasety do kontejneru, 
-nejdřív se to musí dodělat tam. 
  
-===== Známé problémy =====+V tuto chvíli je k dispozici overlayfs vedle VFS (které nedoporučujeme - je pomalejší a náročnější na 
 +diskový prostor než overlayfs/zfs/btrfs drivery).
  
-  * Docker na Debian 9 se nechová správně, rootfs kontejneru mají podívné oprávnění (0600) a nevíme proč. Nefungují pak kontejnery, které používají jiného uživatele, než je root. +Chtěli bychom zprovoznit ZFS drivernicméně ZFS on Linux ještě neumí delegovat datasety do kontejneru, 
-  * Povolení Dockeru dělá problémy některým verzím systemddokud se PR [[https://github.com/systemd/systemd/pull/8447|#8447]] nedostane do stable verze. Ubuntu 18.04 a Debian 9 jsou ok, Fedora 28 ne.+nejdřív se to musí dodělat tam.
  
 ===== Hlášení chyb ===== ===== Hlášení chyb =====
navody/vps/vpsadminos/docker.txt · Poslední úprava: 2023/02/25 21:02 autor: s3w3n