VPS · Návod

Jak nainstalovat Docker na Ubuntu

Aktualizováno October 11, 2026 4 min čtení

Na této stránce
  1. Než začnete
  2. Krok 1: Odstraňte konfliktní balíčky
  3. Krok 2: Přidejte repozitář Dockeru
  4. Krok 3: Nainstalujte Docker a Compose
  5. Krok 4: Oprávnění a rotace logů
  6. První soubor Compose
  7. Docker a ufw: past ve firewallu
  8. Docker na VPS od HytHost
  9. FAQ

Docker spouští aplikace v kontejnerech: každý obsahuje vše, co potřebuje, takže běží stejně na vašem notebooku i na serveru. Weby, databáze, boty i herní servery lze spustit jedním příkazem nebo jedním souborem Compose.

Tento návod nainstaluje Docker Engine a Docker Compose na Ubuntu 24.04 nebo 22.04 z oficiálního repozitáře Dockeru a pak projde nastavení, na kterých na skutečném serveru záleží: oprávnění, logy a firewall.

Než začnete

  • Podporované Ubuntu: Docker podporuje 64bitové verze Ubuntu 26.04, 24.04 a 22.04 LTS. Svou verzi zjistíte pomocí cat /etc/os-release.
  • KVM server, ne kontejner: Docker potřebuje vlastní funkce jádra. Běží na jakémkoli KVM VPS, ale na tarifech založených na kontejnerech (OpenVZ nebo LXC) často ne.
  • Root nebo uživatel se sudo. Příkazy níže používají sudo; pokud jste přihlášeni jako root, můžete ho vynechat.

Na serverech se vyhněte balíčku docker.io z vlastního repozitáře Ubuntu i verzi ze Snapu: repozitář Dockeru dostává nové verze jako první a používá ho i oficiální dokumentace Dockeru.

Docker potřebuje skutečný virtuální stroj: KVM VPS od HytHost s Ubuntu a plným root přístupem začínají na €2.92/měs.

Zobrazit VPS tarify

Krok 1: Odstraňte konfliktní balíčky

Pokud jste dříve instalovali Docker z jiného zdroje, nejprve tyto balíčky odstraňte. Na čistém serveru apt jen oznámí, že žádný z nich není nainstalovaný:

sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc docker-buildx podman-docker containerd runc | cut -f1)

Obrazy a svazky v /var/lib/docker/ se tím nesmažou.

Krok 2: Přidejte repozitář Dockeru

Tyto příkazy z dokumentace Dockeru přidají podpisový klíč Dockeru a jeho apt repozitář pro vaši verzi Ubuntu:

sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update

Krok 3: Nainstalujte Docker a Compose

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Tím se nainstaluje Docker Engine, nástroj pro příkazovou řádku, builder Buildx a plugin Compose. Ověřte, že vše funguje:

sudo docker run hello-world
docker compose version

První příkaz stáhne malý testovací obraz a vypíše uvítací zprávu. Na Ubuntu se Docker spouští automaticky při startu systému, takže není co zapínat.

Compose je příkaz docker compose, s mezerou. Starý docker-compose se spojovníkem je vyřazená první verze; návody, které ho stále používají, fungují i s novým příkazem.

Krok 4: Oprávnění a rotace logů

Spouštění dockeru bez sudo. Přidejte svého uživatele do skupiny docker, pak se odhlaste a znovu přihlaste:

sudo usermod -aG docker $USER

Mějte na paměti, že sám Docker varuje, že tato skupina dává oprávnění na úrovni root: kdokoli v ní může ovládat celý server. Přidávejte jen uživatele, kterým byste dali i root.

Omezte velikost logů. Ve výchozím stavu logy kontejnerů rostou bez omezení a mohou zaplnit disk. Vytvořte /etc/docker/daemon.json:

{
  "log-driver": "json-file",
  "log-opts": { "max-size": "10m", "max-file": "3" }
}

Pak spusťte sudo systemctl restart docker. Limit platí pro kontejnery vytvořené po změně, takže stávající kontejnery vytvořte znovu.

První soubor Compose

Compose popisuje vaše kontejnery v jednom souboru. Vytvořte složku se souborem compose.yaml:

services:
  web:
    image: nginx:stable
    ports:
      - "127.0.0.1:8080:80"
    restart: unless-stopped

Spusťte ho pomocí docker compose up -d, stav zkontrolujte přes docker compose ps a logy si přečtěte pomocí docker compose logs. restart: unless-stopped kontejner znovu spustí po pádu nebo restartu. Port je záměrně navázaný na 127.0.0.1, jak vysvětluje další sekce.

Docker a ufw: past ve firewallu

Na tohle doplatí skoro každý. Když publikujete port, například -p 8080:80, Docker přidá vlastní pravidla firewallu, která se uplatní před pravidly ufw. Port je pak otevřený do internetu, i když ufw tvrdí, že je zavřený.

  • Navažte porty na localhost, pokud je potřebuje jen samotný server, třeba databáze nebo aplikace za reverzní proxy: 127.0.0.1:8080:80.
  • Porty databází vůbec nepublikujte; nechte kontejnery komunikovat přes síť Dockeru.
  • Pro filtrování podle zdrojové adresy přidejte pravidla do řetězce iptables DOCKER-USER, který Docker kontroluje před svými vlastními.

Totéž platí pro herní servery spuštěné v Dockeru; viz jak nastavit VPS pro herní servery.

Docker na VPS od HytHost

VPS tarify HytHost běží na KVM, takže každý VPS má vlastní jádro a Docker na něm běží bez omezení. Při objednávce zvolte Ubuntu 24.04 nebo 22.04, připojte se přes SSH a postupujte podle kroků výše. Získáte plný root přístup, SSD úložiště a ochranu proti DDoS a s růstem kontejnerů můžete později přejít na větší tarif.

FAQ

Časté dotazy

Docker podporuje 64bitové verze Ubuntu 26.04, 24.04 a 22.04 LTS. Jiné systémy založené na Ubuntu, například Linux Mint, oficiálně podporované nejsou.

Na produkčním serveru ne. Docker uvádí, že jeho pohodlný skript je určen pro vývojová prostředí a pro produkci se nedoporučuje; navíc může přeskočit na novou hlavní verzi. Použijte raději metodu s repozitářem.

docker-compose se spojovníkem je stará, vyřazená verze. Dnes je Compose plugin Dockeru, který se používá jako docker compose a instaluje se balíčkem docker-compose-plugin.

Porty publikované Dockerem obcházejí ufw. Navažte port na 127.0.0.1, pokud má zůstat lokální, nebo ho filtrujte v řetězci DOCKER-USER.

Na KVM VPS ano. VPS tarify založené na kontejnerech, například OpenVZ, Docker často spustit nedokážou nebo potřebují speciální nastavení od poskytovatele.

Provozujte své kontejnery na VPS

KVM VPS tarify HytHost provozují Docker bez omezení, s plným root přístupem a Ubuntu 24.04, od €2.92/měs.

Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours

Byl tento návod užitečný?