Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Následující verze | Předchozí verzeNásledující verzeObě strany příští revize | ||
navody:vps:vpsadminos:docker [2018/06/08 11:54] – vytvořeno Aither | navody:vps:vpsadminos:docker [2021/02/07 18:00] – [Instalace] CentOS 7 progdan | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
< | < | ||
====== Docker na vpsAdminOS ====== | ====== Docker na vpsAdminOS ====== | ||
- | Na vpsAdminOS je funkční Docker v aktuální verzi (v době psaní 18.03) s VFS | + | <note info> |
- | storage driverem. | + | Na [[navody: |
+ | </ | ||
+ | <note warning> | ||
+ | Na OpenVZ VPS s [[informace: | ||
+ | </ | ||
===== Instalace ===== | ===== Instalace ===== | ||
- | Nejprve ve vpsAdminu v detailu VPS povolte feature **Docker (experimental)**. | ||
Docker instalujte z repozitářů na docker.com, nedoporučujeme používat Docker | Docker instalujte z repozitářů na docker.com, nedoporučujeme používat Docker | ||
- | z distribučních repozitářů, | + | z distribučních repozitářů, |
- | Instalujte podle návodu: | + | navíc. |
- | * [[https:// | + | * [[https:// |
- | * [[https:// | + | * [[https://docs.docker.com/engine/install/fedora/|Fedora 28]] |
- | * [[https:// | + | * [[https:// |
+ | * [[https:// | ||
- | Následně upravte '' | + | Fungovat mohou samozřejmě i jiné distribuce, ale uvádíme jen ty, které jsme testovali. |
- | AppArmor: | + | |
+ | === Ubuntu 18.04 LTS === | ||
< | < | ||
- | mkdir -p / | + | apt-get -y update |
- | cat <<EOF > /etc/systemd/system/docker.service.d/override.conf | + | apt-get -y install apt-transport-https ca-certificates curl software-properties-common |
- | [Service] | + | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add - |
- | Environment=container=lxc | + | add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ |
- | EOF | + | apt-get -y update |
- | systemctl daemon-reload | + | apt-get -y install |
- | systemctl restart | + | |
</ | </ | ||
- | Dále je potřeba vytvořit si vlastní | + | === Fedora 33 === |
- | '' | + | Upstream verzi Dockeru |
- | což je u nás adresa spojovací, ne veřejná. Proto si vytváříme vlastní síť, kde | + | < |
- | místo '' | + | dnf install -y moby-engine |
+ | </ | ||
+ | Je potrebné nakonfigurovať //dockerd// daemona aby bežal s cgroupdriver=cgroupfs, | ||
< | < | ||
- | docker | + | $ docker |
- | --opt 'com.docker.network.bridge.name=bridge-coi' | + | 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. |
- | --opt 'com.docker.network.bridge.enable_ip_masquerade=false' | + | </ |
- | | + | |
- | iptables -t nat -A POSTROUTING -s 172.18.0.0/16 ! -o bridge-coi -j SNAT --to-source < | + | Konfiguráciu cgroup driveru je možné previesť pomocou overridu // |
+ | < | ||
+ | $ systemctl edit docker | ||
+ | ExecStart=/ | ||
+ | | ||
+ | | ||
+ | $OPTIONS | ||
</ | </ | ||
- | Kontejnery, které potřebují funkční připojení k internetu spouštějte | + | === CentOS 7 === |
- | s přepínačem '' | + | |
+ | Podle návodu na docker.com nainstalujeme // | ||
+ | * nastavit cgroup driver | ||
+ | * nastavit storage driver na VFS (žádný jiný nefunguje správně): | ||
+ | < | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Všeobecně ==== | ||
+ | Ověříme, zda běží docker v pořádku: | ||
+ | |||
+ | < | ||
+ | systemctl status docker.service | ||
+ | |||
+ | ● docker.service | ||
+ | Loaded: loaded (/ | ||
+ | Active: active (running) since Sun 2020-02-23 14:55:22 UTC; 9s ago | ||
+ | Docs: https:// | ||
+ | Main PID: 2893 (dockerd) | ||
+ | | ||
+ | CGroup: / | ||
+ | └─2893 / | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | Pokud nenaběhne | ||
+ | nahradit ''/ | ||
+ | volbu '' | ||
+ | < | ||
+ | mv / | ||
+ | </ | ||
+ | </ | ||
Nyní můžete zkusit '' | Nyní můžete zkusit '' | ||
Řádek 55: | Řádek 99: | ||
</ | </ | ||
- | ===== Storage driver ===== | + | Networking otestujeme pomocí: |
- | 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 | + | docker run -it alpine ping -c 3 vpsfree.cz |
- | driver, nicméně ZFS on Linux ještě neumí delegovat datasety do kontejneru, | + | </code> |
- | nejdřív se to musí dodělat tam. | + | |
- | ===== Známé problémy | + | ===== Docker-in-Docker |
+ | Docker-in-Docker samo od sebe nefunguje, protože se Docker snaží připojit | ||
+ | ''/ | ||
+ | kernelu. Lze to jednoduše obejít bind-mountem pomocí volume: | ||
- | * 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. | + | < |
- | * GitLab Runner má problém se zpřistupněním služeb, tzn. '' | + | docker run -v /sys/kernel/security:/sys/kernel/security |
- | * Povolení Dockeru dělá problémy některým verzím systemd, dokud se PR [[https://github.com/systemd/systemd/pull/8447|# | + | </ |
===== Hlášení chyb ===== | ===== Hlášení chyb ===== |