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.
Na OpenVZ VPS s OpenVZ Docker v aktuální verzi funkční není.

Instalace

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.

Ubuntu 18.04 LTS

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 

Všeobecně

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
Pokud nenaběhne 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

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 ...

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.1585021800.txt.gz · Poslední úprava: 2020/03/24 03:50 autor: snajpa

Nástroje pro stránku