Uživatelské nástroje

Nástroje pro tento web


navody:vps:vpsadminos:docker

Toto je starší verze dokumentu!


Docker na vpsAdminOS

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 20.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 focal stable" 
apt-get -y update 
apt-get -y install docker-ce 

Fedora 33

Upstream verzi Dockeru moby-engine nainštalujete priamo z oficiálnych repozitárov distribúcie:

dnf install -y moby-engine

Je potrebné nakonfigurovať dockerd daemona aby bežal s cgroupdriver=cgroupfs, inak narazite na nasledujúci problém:

$ docker run hello-world
docker: Error response from daemon: OCI runtime create failed: cgroup v2 not enabled on this host, can't use systemd (rootless) as cgroups manager: unknown.

Konfiguráciu cgroup driveru je možné previesť pomocou overridu ExecStart pre docker.service:

$ systemctl edit docker
ExecStart=/usr/bin/dockerd \
          --host=fd:// \
          --exec-opt native.cgroupdriver=cgroupfs \
          $OPTIONS

CentOS 7

Podle návodu na docker.com nainstalujeme docker-ce. Před spuštěním je ještě potřeba upravit konfiguraci Docker daemona v /etc/docker/daemon.json * nastavit cgroup driver

{
    "exec-opt": "native.cgroupdriver=cgroupfs",
}

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

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.1675379189.txt.gz · Poslední úprava: 2023/02/02 23:06 autor: parolek

Nástroje pro stránku