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.