Jak nainstalovat Docker na Ubuntu a spustit kontejner Ubuntu (průvodce krok za krokem)

目次

1. Co je Docker a jeho vztah k Ubuntu

Docker je virtualizační technologie, která balí prostředí pro spouštění aplikací do jednotek nazývaných „kontejnery“, což umožňuje jejich konzistentní spouštění na různých serverech a počítačích. Na rozdíl od tradičních virtuálních strojů Docker spouští kontejnery přímo na hostitelském OS, díky čemuž je výrazně lehčí a rychlejší.

Linuxové operační systémy, jako je Ubuntu, jsou pro Docker obzvláště vhodné, což je důvod, proč ho široce využívají podniky i jednotliví vývojáři a správci serverů. To je způsobeno tím, že Ubuntu je samo o sobě open source, široce přijímané pro serverová prostředí, snadno spravovatelné pomocí systémů balíčků a podporované rozsáhlou oficiální dokumentací.

Pomocí Dockera můžete eliminovat běžné problémy, jako je „funguje to na mém počítači, ale ne na serveru“. Ať už na vývojovém PC nebo produkčním serveru, kontejnery Docker umožňují reprodukovat přesně stejné prostředí kdekoli. Ubuntu je navíc oficiálně podporováno Dockerem, takže instalace a zdroje pro řešení problémů jsou hojné.

V tomto článku jasně vysvětlíme, jak nainstalovat Docker na Ubuntu a spustit kontejner Ubuntu. Ať jste nový v Dockeru nebo máte již zkušenosti, tento průvodce vám pomůže posílit vaše základní znalosti.

2. Požadované prostředí a předpoklady

Před použitím Dockera na Ubuntu je nutné splnit několik předpokladů a provést kontroly. Tato sekce shrnuje požadované prostředí a důležité body, které je třeba předem ověřit, aby instalace proběhla hladce.

Verze Ubuntu

Pro Docker se doporučuje Ubuntu 18.04 LTS nebo novější. Verze s dlouhodobou podporou (LTS), jako Ubuntu 20.04 LTS, Ubuntu 22.04 LTS a Ubuntu 24.04 LTS, jsou podporovány obzvláště dobře. Starší verze mohou narazit na problémy s závislostmi nebo balíčky, proto se silně doporučuje používat nejnovější LTS verzi.

Systémové požadavky

Ačkoli je Docker lehký, spouštění více kontejnerů nebo jeho použití pro vývoj a testování vyžaduje dostatečné systémové zdroje. Doporučují se následující minimální specifikace:

  • 64bitové Ubuntu (32bitové není podporováno)
  • CPU: 2 jádra nebo více doporučeno
  • Paměť: Nejméně 2 GB (4 GB nebo více doporučeno)
  • Volné místo na disku: Nejméně 10 GB

Internetové připojení

Pro instalaci Dockera a stahování obrázků je nutné internetové připojení. Počáteční nastavení může zahrnovat stahování velkého množství dat, proto se doporučuje stabilní připojení.

Uživatelská práva

Instalace Dockera a správa systémových nastavení vyžaduje práva sudo (administrátor). Pokud máte pouze standardní uživatelská oprávnění, požádejte o dočasný přístup nebo pomoc od administrátora.

Odstranění starých balíčků Dockera

Pokud jste dříve manuálně instalovali balíčky jako docker nebo docker.io, doporučuje se je odinstalovat, aby se předešlo konfliktům.

sudo apt-get remove docker docker-engine docker.io containerd runc

Tím se zabrání potenciálním problémům způsobeným konfliktními starými balíčky.

Shrnutí

Po ověření předpokladů v této sekci přejděte k krokům instalace a nastavení v následujících kapitolách.
S řádnou přípravou je instalace Dockera na Ubuntu velmi hladký proces.

3. Instalace a nastavení Docker Engine

Tato sekce vysvětluje, jak nainstalovat Docker Engine na Ubuntu a provést základní nastavení. Použití oficiálního repozitáře Dockera zajišťuje, že získáte nejnovější stabilní verzi.

Přidání oficiálního repozitáře a příprava

Nejprve přidejte oficiální repozitář Dockera do apt. Všechny kroky se provádějí v terminálu.

  1. Instalace požadovaných balíčků
    sudo apt-get update
    sudo apt-get install \
        ca-certificates \
        curl \
        gnupg \
        lsb-release
    
  1. Přidání GPG klíče
    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    
  1. Přidání repozitáře Dockera
    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) stable" | \
      sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    

Instalace Docker Engine

Po přidání úložiště nainstalujte Docker Engine.

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Po dokončení instalace ověřte, zkontrolujte verzi:

docker --version

Pokud vidíte výstup jako Docker version 25.0.3, instalace byla úspěšná.

O Docker Desktop (volitelné)

Na Ubuntu je obvykle Docker Engine dostačující. Docker Desktop pro Linux je také k dispozici, pokud potřebujete grafické rozhraní, ale pro workflow založené na CLI je Docker Engine sám o sobě více než dostatečný.

Řešení problémů s instalací

Pokud narazíte na chyby jako „balíček nenalezen“, důkladně zkontrolujte konfiguraci úložiště a nastavení GPG klíče. Konflikty se starými balíčky Docker mohou také způsobit problémy, takže případně se vraťte k krokům odinstalace.

4. Používání Docker bez sudo

Ve výchozím nastavení vyžadují příkazy Docker sudo oprávnění. Vyžadování sudo pro každý příkaz je nepohodlné a může být riskantní, pokud jsou příkazy zadány chybně.
Doporučený přístup je přidat váš uživatelský účet do skupiny docker, což vám umožní používat Docker bezpečně bez sudo.

Přidání uživatele do skupiny docker

  1. Přidejte aktuálního uživatele do skupiny docker
    sudo usermod -aG docker $USER
    
  1. Aplikujte změny

Odhlaste se a přihlaste se znovu, aby se aplikovalo nové členství ve skupině.
Alternativně můžete změny aplikovat okamžitě pomocí:

newgrp docker
  1. Ověřte
    docker version
    

Poznámky k bezpečnosti

Uživatelé ve skupině docker mají zvýšená oprávnění. V prostředích s více uživateli pečlivě spravujte členství ve skupině docker. Pro osobní nebo vývojové použití to obvykle není problém.

5. Spuštění Docker daemonu a povolení automatického spuštění

Docker běží jako služba na pozadí nazvaná Docker daemon (dockerd). Ačkoli je obvykle spuštěn automaticky po instalaci, je důležité pochopit, jak ho spravovat.

Spuštění, zastavení a restart Dockeru

sudo systemctl start docker
sudo systemctl stop docker
sudo systemctl restart docker
sudo systemctl status docker

Povolení nebo zakázání automatického spuštění při startu

sudo systemctl enable docker
sudo systemctl disable docker

Kontrola logů

journalctl -u docker

6. Spuštění kontejneru Ubuntu

Tato sekce vysvětluje, jak ve skutečnosti spustit kontejner Ubuntu na Dockeru.

Stažení obrazu Ubuntu

docker pull ubuntu:22.04

Spuštění kontejneru Ubuntu

docker run -it --name myubuntu ubuntu:22.04 /bin/bash

Spuštění na pozadí

docker run -d --name myubuntu ubuntu:22.04 tail -f /dev/null

Zastavení a restart kontejnerů

docker stop myubuntu
docker start myubuntu

Kontrola stavu kontejneru

docker ps
docker ps -a

7. Základní příkazy Docker pro správu kontejnerů

Tato sekce shrnuje běžně používané příkazy Docker pro denní operace.

Seznam kontejnerů

docker ps
docker ps -a

Spuštění, zastavení, restart

docker start [container]
docker stop [container]
docker restart [container]

Přístup do kontejnerů

docker exec -it [container] /bin/bash

Odstraňování kontejnerů a obrazů

docker rm [container]
docker rm -f [container]
docker images
docker rmi [image]

Logy a využití disku

docker logs [container]
docker system df

8. Řešení problémů a časté otázky

Tato sekce pokrývá běžné problémy s Dockerem a jak je řešit.

Nelze se připojit k Docker daemonu

Ujistěte se, že Docker běží a že váš uživatel má správná oprávnění.

Konflikty balíčků

sudo apt-get remove docker docker-engine docker.io containerd runc

Selhání spuštění kontejneru

Zkontrolujte názvy obrázků, dostupnou paměť a místo na disku.

9. Shrnutí a další kroky

Tento článek pokryl instalaci Dockeru na Ubuntu a spouštění kontejnerů Ubuntu, od základních konceptů po praktické použití.

Další kroky

  • Vytváření vlastních obrázků pomocí Dockerfile
  • Správa více kontejnerů pomocí Docker Compose
  • Používání svazků a sítí
  • Prozkoumávání orchestrace kontejnerů pomocí Kubernetes

10. Často kladené otázky

Tato sekce odpovídá na často kladené otázky týkající se Dockeru na Ubuntu.

Lze Docker použít na Ubuntu Desktop i Server?

Ano. Ubuntu Server je často preferován pro produkci kvůli nižší spotřebě zdrojů.

Je vyžadován Docker Desktop?

Ne. Pouze Docker Engine je na Ubuntu dostačující.

Co je rootless mód?

Rootless mód umožňuje Dockeru běžet bez root privilégií, což zlepšuje bezpečnost s některými omezeními.

Jak persistovat data?

docker run -v /host/path:/container/path ubuntu:22.04

Jak automaticky spouštět kontejnery?

docker run --restart=unless-stopped -d ubuntu:22.04