Toto je starší verze dokumentu!
Na vpsAdminOS je funkční Docker v aktuální verzi (v době psaní 18.03) s VFS storage driverem.
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. [...]
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.
services
v .gitlab-ci.yml
, příčina neznámá.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.