Toto je starší verze dokumentu!
Nejprve ve vpsAdminu v detailu VPS povolte feature Docker a FUSE. Pokud tuto feature nevidíte, daná VPS neběží na vpsAdminOS.
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 navíc. Instalujte podle návodu:
Fungovat mohou samozřejmě i jiné distribuce, ale uvádíme jen ty, které jsme testovali.
apt-get -y update apt-get -y install apt-transport-https ca-certificates curl software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" apt-get -y update apt-get -y install docker-ce
Ověříme, zda běží docker v pořádku:
systemctl status docker.service ● 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
docker.service
, může se jednat o tento už opravený bug v containerd. Řešením je buď
nahradit /sbin/modprobe
, nebo upravit containerd.service
a změnit
volbu ExecStartPre
.
mv /sbin/modprobe /sbin/modprobe.old && ln -s /bin/true /sbin/modprobe
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 -it alpine ping -c 3 vpsfree.cz
Docker-in-Docker samo od sebe nefunguje, protože se Docker snaží připojit
/sys/kernel/security
, což ve VPS nemá oprávnění udělat kvůli omezení
kernelu. Lze to jednoduše obejít bind-mountem pomocí volume:
docker run -v /sys/kernel/security:/sys/kernel/security ...
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.