Docker Compose este deosebit de potrivit pentru mediile de dezvoltare și testare, dar și pentru implementări de producție mai mici. Vă explicăm cum puteți orchestra cu ușurință aplicațiile Docker pe Ubuntu cu Compose.

Care sunt cerințele pentru Docker Compose pe Ubuntu?

Înainte de a putea utiliza Docker Compose, trebuie să vă asigurați că sistemul dvs. îndeplinește următoarele cerințe preliminare:

  • Motorul Docker: Compose este o extensie a motorului Docker pe care trebuie să o instalați.
  • Sistem de operare: Ubuntu, utilizator sudo cu privilegii de root.
Sfat

Pentru a utiliza un alt sistem de operare decât Linux, consultați ghidul nostru privind instalarea Docker Compose pe Windows și Docker Compose pe macOS.

Ghid pas cu pas pentru instalarea Docker Compose pe Ubuntu

Pentru a utiliza Docker Compose pe Ubuntu, trebuie mai întâi să instalați Docker Engine și să verificați dacă funcționează corect. Odată ce Docker funcționează, descărcați Compose și creați fișierul YAML pentru a configura aplicațiile.

Pasul 1: Descărcați și instalați Docker Compose

Descărcați cea mai recentă versiune a Docker Compose din depozitul oficial GitHub introducând următoarea comandă într-un terminal:

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

Acum, puteți acorda drepturi de execuție pentru Docker Compose:

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

Utilizați opțiunea --version pentru a verifica dacă Compose a fost instalat cu succes.

$ docker-compose --version
shell

Veți obține următorul rezultat:

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

Dacă instalarea eșuează, verificați calea.

De asemenea, puteți crea o legătură simbolică către calea /usr/bin:

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

Pasul 2: Configurați fișierul docker-compose.yml

Pentru a demonstra structura unui fișier YAML Docker Compose, folosim imaginea Nginx din Docker Hub oficial pentru mediul container.

Mai întâi, creați un folder nou în directorul dvs. principal:

$ mkdir ~/compose-test
shell

Treceți la director și creați un folder nou pentru directorul rădăcină al mediului Nginx.

$ cd ~/compose-test
$ mkdir app
shell

Puteți utiliza orice editor de text, cum ar fi nano, pentru a crea index.html.

$ nano app/index.html
shell

Iată codul HTML pentru o pagină de exemplu:

<!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

Salvați și închideți fișierul HTML și creați docker-compose.yml.

$ nano docker-compose.yml
shell

Conținutul este împărțit în numărul versiunii configurației și blocul de servicii.

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

În blocul de servicii, există un singur serviciu numit „web”. Acesta este asociat cu imaginea Nginx specificată și redirecționarea portului. În configurația noastră, orice solicitări adresate portului 8000 de pe mașina gazdă sunt redirecționate către containerul web de pe portul 80, unde rulează Nginx. În plus, utilizăm un volum partajat între gazdă și container. Acest lucru face ca folderul local „app” să fie accesibil aplicației Nginx.

Pasul 3: Executați Docker Compose

Cu următoarea comandă creăm un container web și rulăm mediul containerului în fundal:

$ docker-compose up -d
shell

Dacă imaginea specificată în fișierul YAML nu este prezentă pe sistemul local, aceasta va fi descărcată automat.

Pentru a verifica dacă mediul Nginx funcționează, introduceți comanda ps.

$ docker-compose ps
shell

Pagina de exemplu pe care ați creat-o anterior este acum accesibilă pe localhost:8000 când rulați demo-ul pe computerul dvs. Dacă utilizați un server la distanță, specificați pur și simplu adresa IP a serverului dvs. în locul „localhost”.

Imagine: Docker Compose sample page
Sample page for an Nginx container

Puteți opri aplicația container folosind stop.

$ docker-compose stop
shell
Mergi la meniul principal