Uživatelské nástroje

Nástroje pro tento web


navody:vps:vpsadminos:docker

Toto je starší verze dokumentu!


Docker na vpsAdminOS

Na vpsAdminOS je funkční Docker v aktuální verzi (v době psaní 18.03) s VFS storage driverem.

Instalace

Nejprve ve vpsAdminu v detailu VPS povolte feature Docker (experimental).

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. Instalujte podle návodu:

Následně upravte docker.service tak, aby se nepokoušel nastavovat AppArmor:

mkdir -p /etc/systemd/system/docker.service.d
cat <<EOF > /etc/systemd/system/docker.service.d/override.conf 
[Service]
Environment=container=lxc
EOF
systemctl daemon-reload
systemctl restart docker.service

Dále je potřeba vytvořit si vlastní network. Výchozí bridge totiž používá 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ě.

docker network create --attachable \
                      --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>

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:

docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.
[...]

Networking otestujeme pomocí

docker run --network bridge-coi -i -t alpine ping -c 3 vpsfree.cz

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

  • 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.
  • Povolení Dockeru dělá problémy některým verzím systemd, dokud se PR #8447 nedostane do stable verze. Ubuntu 18.04 a Debian 9 jsou ok, Fedora 28 ne.

Hlášení chyb

Pokud nějaká operace hlásí permission denied, pravděpodobně není povolená v AppArmor profilu. To můžeme napravit, nicméně potřebujeme mít možnost to reprodukovat a vědět ID VPS. Stavte se na IRC #vpsfree nebo #vpsadminos, případně pište na podporu.

navody/vps/vpsadminos/docker.1528743860.txt.gz · Poslední úprava: 2018/06/11 19:04 autor: rmarko

Nástroje pro stránku