Docker Compose je obzvlášť vhodný pre vývojové a testovacie prostredia, ale aj pre menšie produkčné nasadenia. Vysvetlíme vám, ako môžete pomocou Compose ľahko koordinovať aplikácie Docker v systéme Ubuntu.

Aké sú požiadavky na Docker Compose v systéme Ubuntu?

Predtým, ako budete môcť používať Docker Compose, musíte sa uistiť, že váš systém spĺňa nasledujúce požiadavky:

  • Docker Engine: Compose je rozšírenie pre Docker Engine, ktoré je potrebné nainštalovať.
  • Operačný systém: Ubuntu, používateľ sudo s oprávneniami root.
Tip

Ak chcete používať iný operačný systém ako Linux, pozrite si náš návod na inštaláciu Docker Compose v systéme Windows a Docker Compose v systéme macOS.

Podrobný návod na inštaláciu Docker Compose v Ubuntu

Ak chcete používať Docker Compose v systéme Ubuntu, musíte najskôr nainštalovať Docker Engine a overiť, či funguje správne. Akonáhle je Docker spustený, stiahnite si Compose a vytvorte súbor YAML na konfiguráciu vašich aplikácií.

Krok 1: Stiahnite a nainštalujte Docker Compose

Stiahnite si najnovšiu verziu Docker Compose z oficiálneho repozitára GitHub zadávaním nasledujúceho príkazu v termináli:

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

Teraz môžete Docker Compose udeliť práva na vykonávanie:

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

Pomocou možnosti --version skontrolujte, či bola aplikácia Compose úspešne nainštalovaná.

$ docker-compose --version
shell

Získate nasledujúci výstup:

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

Ak inštalácia zlyhá, skontrolujte cestu.

Môžete tiež vytvoriť symbolický odkaz na cestu /usr/bin:

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

Krok 2: Nakonfigurujte súbor docker-compose.yml

Na demonštrovanie dizajnu súboru Docker Compose YAML používame obraz Nginx z oficiálneho Docker Hub pre prostredie kontajnera.

Najskôr vytvorte nový priečinok vo vašom domovskom adresári:

$ mkdir ~/compose-test
shell

Prejdite do adresára a vytvorte nový priečinok pre koreňový adresár vášho prostredia Nginx.

$ cd ~/compose-test
$ mkdir app
shell

Na vytvorenie súboru index.html môžete použiť ľubovoľný textový editor, napríklad nano.

$ nano app/index.html
shell

Tu je HTML kód pre ukážkovú 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 zatvorte súbor HTML a vytvorte súbor docker-compose.yml.

$ nano docker-compose.yml
shell

Obsah je rozdelený na číslo verzie konfigurácie a blok služieb.

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

V bloku služieb sa nachádza jediná služba s názvom „web“. Je spojená so špecifikovaným obrazom Nginx a presmerovaním portu. V našej konfigurácii sú všetky požiadavky smerované na port 8000 na hostiteľskom počítači presmerované do webového kontajnera na porte 80, kde beží Nginx. Okrem toho používame zdieľaný objem medzi hostiteľom a kontajnerom. Vďaka tomu je lokálna zložka „app“ prístupná pre aplikáciu Nginx.

Krok 3: Spustite Docker Compose

Pomocou nasledujúceho príkazu vytvoríme webový kontajner a spustíme prostredie kontajnera na pozadí:

$ docker-compose up -d
shell

Ak obrázok špecifikovaný v súbore YAML nie je prítomný v lokálnom systéme, bude automaticky stiahnutý.

Ak chcete otestovať, či prostredie Nginx beží, zadajte príkaz ps.

$ docker-compose ps
shell

Vzorová stránka, ktorú ste vytvorili skôr, je teraz dostupná na localhost:8000, keď spustíte demo na svojom počítači. Ak používate vzdialený server, jednoducho zadajte IP adresu svojho servera namiesto „localhost“.

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

Aplikáciu kontajnera môžete zastaviť pomocou stop.

$ docker-compose stop
shell
Prejsť na hlavné menu