Docker Compose: Alapok és használat

Docker Compose alapú alkalmazások kezelésére és telepítésére szolgáló hatékony és népszerű eszköz Docker. Lehetővé teszi több tároló meghatározását, konfigurálását és futtatását Docker egyetlen projektként, leegyszerűsítve az alkalmazások telepítését, valamint biztosítva a konzisztenciát a fejlesztési és a termelési környezetek között.

Az alábbiakban néhány fogalom és példa található Docker Compose:

Határozza meg a projektet a docker-compose.yml fájl segítségével

A fájlban docker-compose.yml meghatározhatja az alkalmazásához szükséges szolgáltatásokat. Például egy MySQL adatbázissal rendelkező PHP webalkalmazás üzembe helyezéséhez két szolgáltatást definiálhat az alábbiak szerint:

version: "3"  
services:  
  web:  
    image: php:7.4-apache  
    ports:  
   - "80:80"  
    volumes:  
   - ./app:/var/www/html  
  
  db:  
    image: mysql:5.7  
    environment:  
      MYSQL_ROOT_PASSWORD: password  
      MYSQL_DATABASE: my_database  

A fenti kódrészletben két szolgáltatást határozunk meg: web és db. A web szolgáltatás a PHP 7.4-et fogja használni image, Apache a 80-as porton figyel, és becsatolja a ./app könyvtárat a gazdagépről a /var/www/html könyvtárba container. A db szolgáltatás a MySQL 5.7-et fogja használni image, és beállít néhány, az adatbázishoz szükséges környezeti változót.

 

Docker Compose parancs segítségével

Miután meghatározta a projektet a fájlban docker-compose.yml, parancsokkal kezelheti Docker Compose a szolgáltatásokat.

  • Indítsa el a projektet: docker-compose up

    Ez a parancs elindítja a fájlban meghatározott szolgáltatások tárolóit docker-compose.yml.

  • Állítsa le és vegye ki a tartályokat: docker-compose down

    Ez a parancs leállítja és eltávolítja a projekthez kapcsolódó összes tárolót.

  • A futó tárolók listája: docker-compose ps

    Ez a parancs megjeleníti a projektben lévő tárolók állapotát.

  • Szolgáltatásnaplók megtekintése: docker-compose logs

    Ez a parancs megjeleníti a projektben lévő szolgáltatások naplóit.

 

Környezeti változók és testreszabás

Docker Compose lehetővé teszi a környezeti változók használatát a konfigurációk testreszabásához különböző környezetekhez, például fejlesztéshez és gyártáshoz. Használhat környezeti változókat a fájlban, docker-compose.yml és meghatározhatja értéküket a megfelelő fájlokban .env.

Például, ha környezeti változót szeretne definiálni a szolgáltatás portjához, a következőképpen web adhat hozzá egy sort a fájlhoz: .env

WEB_PORT=8080

Ezután a fájlban docker-compose.yml a következőképpen használhatja ezt a környezeti változót:

version: "3"  
services:  
  web:  
    image: php:7.4-apache  
    ports:  
   - "${WEB_PORT}:80"  
    volumes:  
   - ./app:/var/www/html  

docker-compose up A parancs futtatásakor a web szolgáltatás a 80-as porton figyel a 80-as helyett.

 

Integráció a Docker Swammal

Ha az alkalmazást több csomóponttal rendelkező elosztott környezetben szeretné telepíteni, akkor Docker Compose integrálhatja a Docker Swarm. Ez lehetővé teszi a szolgáltatások kezelését egy fürt több csomópontja között Docker.

Az integráció használatához csak hozzá kell adnia a --orchestrate vagy --with-registry-auth opciókat, amikor egy környezetben fut docker stack deploy vagy docker-compose up parancsokat Swarm.

 

Docker Compose hasznos eszköz az alkalmazások egyszerű és hatékony fejlesztéséhez, teszteléséhez és telepítéséhez. Minimalizálja a fejlesztői és termelési környezetek közötti különbségeket, biztosítja a szoftverfejlesztési folyamat következetességét, és növeli a fejlesztőcsapatok termelékenységét.