„Docker Compose“ ypač tinka kūrimo ir testavimo aplinkoms, taip pat mažesnio masto diegimams ga­my­bi­nė­je aplinkoje. Pa­aiš­kin­si­me, kaip naudojant „Compose“ galite lengvai ko­or­di­nuo­ti „Docker“ programas „Ubuntu“ sistemoje.

Kokie yra „Docker Compose“ rei­ka­la­vi­mai „Ubuntu“ sistemoje?

Prieš pradėdami naudoti „Docker Compose“, turite įsi­ti­kin­ti, kad jūsų sistema atitinka šiuos rei­ka­la­vi­mus:

  • „Docker Engine: Compose“ – tai „Docker Engine“ plėtinys, kurį reikia įdiegti.
  • Operacinė sistema: Ubuntu, „sudo“ var­to­to­jas su ad­mi­nist­ra­to­riaus teisėmis.
Tip

Jei naudojate kitą operacinę sistemą nei „Linux“, per­skai­ty­ki­te mūsų vadovą, kaip įdiegti „Docker Compose„Windows“ ir „macOS“ sistemose.

Žingsnis po žingsnio vadovas, kaip įdiegti „Docker Compose“ „Ubuntu“ sistemoje

Norėdami naudoti „Docker Compose“ „Ubuntu“ sistemoje, pir­miau­sia turite įdiegti „Docker Engine“ ir įsi­ti­kin­ti, kad jis veikia tinkamai. Kai „Docker“ jau veikia, at­si­sių­s­ki­te „Compose“ ir sukurkite YAML failą, kad su­kon­fi­gū­ruo­tu­mė­te savo programas.

1 žingsnis: At­si­sių­s­ki­te ir įdiekite „Docker Compose“

At­si­sių­s­ki­te naujausią „Docker Compose“ versiją iš ofi­cia­laus „GitHub“ saugyklos, terminale įvedę šią komandą:

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

Dabar galite suteikti „Docker Compose“ vykdymo teises:

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

Pa­si­nau­do­ki­te --version pa­rink­ti­mi, kad pa­tik­rin­tu­mė­te, ar programa „Compose“ buvo sėkmingai įdiegta.

$ docker-compose --version
shell

Gausite tokį rezultatą:

Image: Docker Compose Version
If you see the version number, Docker Compose has been suc­cess­ful­ly installed.

Jei įdiegimas ne­pa­vyks­ta, pa­tik­rin­ki­te kelią.

Taip pat galite sukurti simbolinę nuorodą į katalogą /usr/bin:

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

2 žingsnis: Nu­sta­ty­ki­te failą „docker-compose.yml“

Norėdami pa­de­monst­ruo­ti „Docker Compose“ YAML failo struktūrą, kon­t­ei­ne­rių aplinkai naudojame „Nginx“ atvaizdą iš ofi­cia­laus „Docker Hub“.

Pir­miau­sia savo namų kataloge sukurkite naują aplanką:

$ mkdir ~/compose-test
shell

Pereikite į tą katalogą ir sukurkite naują aplanką, kuris bus jūsų Nginx aplinkos šakninis katalogas.

$ cd ~/compose-test
$ mkdir app
shell

Galite naudoti bet kokį teksto re­dak­to­rių, pa­vyz­džiui, „nano“, kad su­kur­tu­mė­te failą „index.html“.

$ nano app/index.html
shell

Štai pa­vyz­di­nio puslapio HTML kodas:

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

Iš­sau­go­ki­te ir už­da­ry­ki­te HTML failą, tada sukurkite failą „docker-compose.yml“.

$ nano docker-compose.yml
shell

Turinys su­skirs­ty­tas į kon­fi­gū­ra­ci­jos versijos numerį ir paslaugų bloką.

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

Paslaugų bloke yra viena paslauga, pavadinta „web“. Ji susieta su nurodytu „Nginx“ atvaizdu ir prievado nu­krei­pi­mu. Mūsų kon­fi­gū­ra­ci­jo­je visi už­klau­si­mai, siunčiami į pag­rin­di­nio kom­piu­te­rio 8000 prievadą, nu­krei­pia­mi į „web“ kon­t­ei­ne­rį 80 prievade, kuriame veikia „Nginx“. Be to, naudojame bendrąjį tomą tarp pag­rin­di­nio kom­piu­te­rio ir kon­t­ei­ne­rio. Dėl to „Nginx“ programa gali pasiekti vietinį „app“ aplanką

3 žingsnis: Vykdykite „Docker Compose“

Šia komanda sukuriame ži­nia­tink­lio kon­t­ei­ne­rį ir pa­lei­džia­me kon­t­ei­ne­rio aplinką fone:

$ docker-compose up -d
shell

Jei YAML faile nurodyto vaizdo nėra vietinėje sistemoje, jis bus at­si­siųs­tas au­to­ma­tiš­kai.

Norėdami pa­tik­rin­ti, ar veikia „Nginx“ aplinka, įveskite komandą ps.

$ docker-compose ps
shell

Anksčiau sukurtą pavyzdinį puslapį dabar galite pasiekti adresu localhost:8000, paleidę de­monst­ra­ci­nę versiją savo kom­piu­te­ry­je. Jei naudojate nuotolinį serverį, vietoj „localhost“ tiesiog įveskite savo serverio IP adresą.

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

Kon­t­ei­ne­rio programą galite su­stab­dy­ti naudodami stop.

$ docker-compose stop
shell
Go to Main Menu