Docker Compose ir īpaši piemērots izstrādes un tes­tē­ša­nas vidēm, kā arī nelieliem ražošanas vides ie­vie­ša­nas pro­jek­tiem. Mēs iz­skaid­ro­sim, kā ar Compose palīdzību viegli koordinēt Docker lie­to­jum­prog­ram­mas Ubuntu vidē.

Kādas ir prasības attiecībā uz Docker Compose Ubuntu vidē?

Pirms sākt izmantot Docker Compose, ir jā­pār­lie­ci­nās, ka jūsu sistēma atbilst šādiem priekš­no­tei­ku­miem:

  • Docker Engine: Compose ir Docker Engine pa­pla­ši­nā­jums, kas jums jāinstalē.
  • Ope­rē­tājsis­tē­ma: Ubuntu, sudo lietotājs ar root tiesībām.
Tip

Ja vēlaties izmantot citu ope­rē­tājsis­tē­mu, nevis Linux, skatiet mūsu ro­kas­grā­ma­tu par to, kā instalēt Docker Compose ope­rē­tājsis­tē­mā Windows un Docker Compose ope­rē­tājsis­tē­mā macOS.

Soli pa solim: Docker Compose in­sta­lē­ša­na Ubuntu

Lai izmantotu Docker Compose Ubuntu vidē, vispirms ir jāinstalē Docker Engine un jā­pār­lie­ci­nās, ka tas darbojas pareizi. Kad Docker darbojas, le­ju­pie­lā­dē­jiet Compose un iz­vei­do­jiet YAML failu, lai kon­fi­gu­rē­tu savas lie­to­jum­prog­ram­mas.

1. solis: Le­ju­pie­lā­dē­jiet un in­sta­lē­jiet Docker Compose

Le­ju­pie­lā­dē­jiet jaunāko „Docker Compose“ versiju no oficiālā GitHub re­po­zi­to­ri­ja, terminālī ievadot šādu komandu:

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

Tagad varat piešķirt Docker Compose izpildes tiesības:

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

Iz­man­to­jiet --version opciju, lai pār­bau­dī­tu, vai programma „Compose“ ir veiksmīgi instalēta.

$ docker-compose --version
shell

Jūs saņemsiet šādu izvadi:

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

Ja in­sta­lē­ša­na neizdodas, pār­bau­diet ceļu.

Varat arī izveidot sim­bo­lis­ku saiti uz /usr/bin:

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

2. solis: Kon­fi­gu­rē­jiet failu „docker-compose.yml“

Lai parādītu Docker Compose YAML faila struktūru, kon­tei­ne­ru vidē iz­man­to­jam Nginx attēlu no oficiālā Docker Hub.

Vispirms iz­vei­do­jiet jaunu mapi savā lietotāja di­rek­to­ri­jā:

$ mkdir ~/compose-test
shell

Pārejiet uz šo di­rek­to­ri­ju un iz­vei­do­jiet jaunu mapi Nginx vides saknes di­rek­to­ri­jā.

$ cd ~/compose-test
$ mkdir app
shell

Lai izveidotu failu index.html, varat izmantot jebkuru teksta redaktoru, piemēram, nano.

$ nano app/index.html
shell

Šeit ir pa­raugla­pas HTML kods:

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

Sa­gla­bā­jiet un aizveriet HTML failu, un iz­vei­do­jiet failu docker-compose.yml.

$ nano docker-compose.yml
shell

Saturs ir sadalīts divās daļās: kon­fi­gu­rā­ci­jas versijas numurs un pa­kal­po­ju­mu bloks.

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

Pa­kal­po­ju­mu blokā ir viens pa­kal­po­jums ar nosaukumu „web”. Tas ir saistīts ar norādīto Nginx attēlu un portu pā­r­ad­re­sā­ci­ju. Mūsu kon­fi­gu­rā­ci­jā visi pie­pra­sī­ju­mi, kas tiek veikti uz 8000. portu uz­ņē­mēj­da­to­rā, tiek pā­r­ad­re­sē­ti uz tīmekļa kon­tei­ne­ru 80. portā, kur darbojas Nginx. Turklāt mēs iz­man­to­jam kopīgu apjomu starp uz­ņē­mēj­da­to­ru un kon­tei­ne­ru. Tas padara vietējo „app” mapi pieejamu Nginx lie­to­jum­prog­ram­mai

3. solis: Izpildiet Docker Compose

Ar šo komandu mēs iz­vei­do­jam tīmekļa kon­tei­ne­ru un palaistam kon­tei­ne­ru vidi fonā:

$ docker-compose up -d
shell

Ja YAML failā no­rā­dī­tais attēls nav pieejams vietējā sistēmā, tas tiks le­ju­pie­lā­dēts au­to­mā­tis­ki.

Lai pār­bau­dī­tu, vai Nginx vide darbojas, ievadiet komandu ps.

$ docker-compose ps
shell

Iepriekš izveidotā pa­raugla­pu tagad var apskatīt, uzsākot demo savā datorā, iz­man­to­jot adresi localhost:8000. Ja iz­man­to­jat attālo serveri, vienkārši norādiet sava servera IP adresi vietā „localhost“.

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

Jūs varat apturēt kon­tei­ne­ru lie­to­jum­prog­ram­mu, iz­man­to­jot stop.

$ docker-compose stop
shell
Go to Main Menu