Docker Compose je zvláště vhodný pro vývojová a testovací prostředí, ale také pro menší produkční nasazení. Vysvětlíme vám, jak můžete snadno koordinovat aplikace Docker na Ubuntu pomocí Compose.

Jaké jsou požadavky pro Docker Compose na Ubuntu?

Než budete moci používat Docker Compose, musíte se ujistit, že váš systém splňuje následující předpoklady:

  • Docker Engine: Compose je rozšíření pro Docker Engine, které je nutné nainstalovat.
  • Operační systém: Ubuntu, uživatel sudo s oprávněními root.
Tip

Chcete-li použít jiný operační systém než Linux, podívejte se na našeho průvodce instalací Docker Compose ve Windows a Docker Compose v macOS.

Podrobný návod k instalaci Docker Compose na Ubuntu

Chcete-li používat Docker Compose v Ubuntu, musíte nejprve nainstalovat Docker Engine a ověřit, že funguje správně. Jakmile je Docker spuštěn, stáhněte si Compose a vytvořte soubor YAML pro konfiguraci vašich aplikací.

Krok 1: Stáhněte a nainstalujte Docker Compose

Stáhněte si nejnovější verzi Docker Compose z oficiálního úložiště GitHub zadáním následujícího příkazu do terminálu:

$ curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
shell

Nyní můžete Docker Compose udělit práva k provádění:

$ sudo chmod +x /usr/local/bin/docker-compose
shell

Pomocí možnosti --version zkontrolujte, zda byl program Compose úspěšně nainstalován.

$ docker-compose --version
shell

Získáte následující výstup:

Obrázek: Docker Compose Version
If you see the version number, Docker Compose has been successfully installed.

Pokud instalace selže, zkontrolujte cestu.

Můžete také vytvořit symbolický odkaz na cestu /usr/bin:

$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
shell

Krok 2: Nakonfigurujte soubor docker-compose.yml

Pro demonstraci návrhu souboru YAML pro Docker Compose používáme obraz Nginx z oficiálního Docker Hubu pro kontejnerové prostředí.

Nejprve vytvořte novou složku ve svém domovském adresáři:

$ mkdir ~/compose-test
shell

Přejděte do adresáře a vytvořte novou složku pro kořenový adresář vašeho prostředí Nginx.

$ cd ~/compose-test
$ mkdir app
shell

K vytvoření souboru index.html můžete použít jakýkoli textový editor, například nano.

$ nano app/index.html
shell

Zde je HTML kód pro ukázkovou stránku:

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Docker Compose Test</title>
</head>
<body>
    <h1>This is a Docker Compose Test Page for an Nginx container.</h1>
</body>
</html>
html

Uložte a zavřete soubor HTML a vytvořte soubor docker-compose.yml.

$ nano docker-compose.yml
shell

Obsah je rozdělen na číslo verze konfigurace a blok služeb.

version: '3.9'
services:
    web:
        image: nginx:alpine
        ports:
            - "8000:80"
        volumes:
- ./app:/usr/share/nginx/html
YAML

V bloku služeb je jedna služba s názvem „web“. Je spojena se specifikovaným obrazem Nginx a přesměrováním portu. V naší konfiguraci jsou všechny požadavky na port 8000 na hostitelském počítači přesměrovány do webového kontejneru na portu 80, kde běží Nginx. Dále používáme sdílený svazek mezi hostitelem a kontejnerem. Díky tomu je místní složka „app“ přístupná pro aplikaci Nginx.

Krok 3: Spusťte Docker Compose

Následujícím příkazem vytvoříme webový kontejner a spustíme prostředí kontejneru na pozadí:

$ docker-compose up -d
shell

Pokud obrázek uvedený v souboru YAML není v lokálním systému k dispozici, bude automaticky stažen.

Chcete-li otestovat, zda prostředí Nginx běží, zadejte příkaz ps.

$ docker-compose ps
shell

Vzorová stránka, kterou jste vytvořili dříve, je nyní přístupná na adrese localhost:8000, když spustíte demo na svém počítači. Pokud používáte vzdálený server, stačí místo „localhost“ zadat IP adresu svého serveru.

Obrázek: Docker Compose sample page
Sample page for an Nginx container

Aplikaci kontejneru můžete zastavit pomocí stop.

$ docker-compose stop
shell
Přejít do hlavního menu