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/09/20 14:37] – Uprava sluzby uz neni potreba Aithernavody:vps:vpsadminos:docker [2020/02/23 15:45] toms
Řá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 [[navody:vps:vpsAdminOS]] je funkční Docker v aktuální verzi. 
-storage driverem.+ 
 +Na OpenVZ VPS s [[informace:openvz|OpenVZ]] Docker v aktuální verzi funkční není.
  
 ===== Instalace ===== ===== Instalace =====
-Nejprve ve vpsAdminu v detailu VPS povolte feature **Docker (experimental)**.+Nejprve ve vpsAdminu v detailu VPS povolte feature **Docker** a **FUSE**. Pokud tuto feature 
 +nevidíte, daná VPS neběží na [[navody:vps:vpsAdminOS]].
  
 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 LTS]]
   * [[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]]
  
-Dále je potřeba vytvořit si vlastní //network//. Výchozí bridge totiž používá +Fungovat mohou samozřejmě i jiné distribuceale uvádíme jen tykteré jsme testovali.
-''MASQUERADE''což nastavuje jako zdrojovou adresu první IP adresu z rozhraní, +
-která je u nás adresa spojovací, ne veřejná. Proto si vytváříme vlastní síť, kde +
-místo ''MASQUERADE'' používáme ''SNAT'' a zdrojovou IP si nastavíme manuálně.+
  
 +=== Ubuntu 18.04 LTS ===
 <code> <code>
-docker network create --attachable \ +apt-get -y update  
-                      --opt 'com.docker.network.bridge.name=bridge-coi' \ +apt-get -y install apt-transport-https ca-certificates curl software-properties-common  
-                      --opt 'com.docker.network.bridge.enable_ip_masquerade=false' \ +curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -  
-                      bridge-coi+add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"  
 +apt-get -y update  
 +apt-get -y install docker-ce  
 +</code> 
 + 
 +==== Všeobecně ==== 
 +Ověříme, zda běží docker v pořádku: 
 + 
 +<code> 
 +systemctl status docker.service
  
-iptables -t nat -A POSTROUTING -s 172.18.0.0/16 ! -o bridge-coi -j SNAT --to-source <veřejná IPv4 adresa VPS>+● docker.service Docker Application Container Engine 
 +    Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e 
 +    Active: active (running) since Sun 2020-02-23 14:55:22 UTC; 9s ago 
 +      Docs: https://docs.docker.com 
 +  Main PID: 2893 (dockerd) 
 +     Tasks: 30 
 +    CGroup: /system.slice/docker.service 
 +            └─2893 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/contain
 </code> </code>
  
-Kontejnerykteré potřebují funkční připojení k internetu spouštějte +<note> 
-s přepínačem ''%%--network bridge-coi%%''.+Pokud nenaběhne ''docker.service''může se jednat o tento už opravený [[https://github.com/containerd/containerd/issues/2772|bug v containerd]]. Řešením je buď 
 +nahradit ''/sbin/modprobe'', nebo upravit ''containerd.service'' a změnit 
 +volbu ''ExecStartPre''. 
 +<code> 
 +mv /sbin/modprobe /sbin/modprobe.old && ln -s /bin/true /sbin/modprobe 
 +</code> 
 +</note>
  
 Nyní můžete zkusit ''docker run hello-world'': Nyní můžete zkusit ''docker run hello-world'':
Řádek 42: Řádek 64:
 </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 ===== +===== Docker-in-Docker ===== 
-Aktuálně funguje jen //VFS// storage driver. Ten je pomalejší a náročnější na +Docker-in-Docker samo od sebe nefunguje, protože se Docker snaží připojit 
-diskový prostor než overlayfs/zfs/btrfs drivery. Chtěli bychom zprovoznit ZFS +''/sys/kernel/security''což ve VPS nemá oprávnění udělat kvůli omezení 
-drivernicméně ZFS on Linux ještě neumí delegovat datasety do kontejneru, +kernelu. Lze to jednoduše obejít bind-mountem pomocí volume:
-nejdřív se to musí dodělat tam.+
  
-===== Známé problémy ===== +<code> 
- +docker run -v /sys/kernel/security:/sys/kernel/security ... 
-  * 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. +</code>
-  * Povolení Dockeru dělá problémy některým verzím systemd, dokud se PR [[https://github.com/systemd/systemd/pull/8447|#8447]] nedostane do stable verzeUbuntu 18.04 a Debian 9 jsou ok, Fedora 28 ne.+
  
 ===== Hlášení chyb ===== ===== Hlášení chyb =====
navody/vps/vpsadminos/docker.txt · Poslední úprava: 2023/02/25 21:02 autor: s3w3n