Docker Compose on tehokas ja suosittu työkalu, jota käytetään sovellusten hallintaan ja käyttöönottoon Docker. Sen avulla voit määrittää, konfiguroida ja käyttää useita Docker säilöjä yhtenä projektina, mikä yksinkertaistaa sovellusten käyttöönottoa ja varmistaa johdonmukaisuuden kehitys- ja tuotantoympäristöjen välillä.
Alla on joitain käsitteitä ja esimerkkejä Docker Compose:
Määritä projekti docker-compose.yml-tiedoston avulla
Tiedostossa docker-compose.yml
voit määrittää sovelluksellesi tarvittavat palvelut. Jos esimerkiksi otat PHP-verkkosovelluksen käyttöön MySQL-tietokannan kanssa, voit määrittää kaksi palvelua seuraavasti:
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
Yllä olevassa koodinpätkässä määritämme kaksi palvelua: web
ja db
. Palvelu web
käyttää PHP 7.4 image -versiota Apache, kuuntelee portissa 80 ja liittää ./app
hakemiston isännästä /var/www/html
hakemistoon container. Palvelu db
käyttää MySQL 5.7:ää image ja asettaa joitakin tietokannan edellyttämiä ympäristömuuttujia.
Docker Compose Komentoa käyttämällä
Kun olet määrittänyt projektin tiedostoon docker-compose.yml
, voit Docker Compose hallita palveluita komentojen avulla.
-
Aloita projekti:
docker-compose up
Tämä komento käynnistää tiedostossa määritettyjen palveluiden säilöt
docker-compose.yml
. -
Pysäytä ja poista säiliöt:
docker-compose down
Tämä komento pysäyttää ja poistaa kaikki projektiin liittyvät säilöt.
-
Luettelo käynnissä olevista säilöistä:
docker-compose ps
Tämä komento näyttää projektin säilöjen tilan.
-
Näytä palvelulokit:
docker-compose logs
Tämä komento näyttää projektin palveluiden lokit.
Ympäristömuuttujat ja räätälöinti
Docker Compose antaa sinun käyttää ympäristömuuttujia mukauttaaksesi kokoonpanoja eri ympäristöjä, kuten kehitystä ja tuotantoa, varten. Voit käyttää tiedostossa ympäristömuuttujia docker-compose.yml
ja määrittää niiden arvot vastaaviin .env
tiedostoihin.
Jos esimerkiksi haluat määrittää ympäristömuuttujan palvelun portille web
, voit lisätä tiedostoon rivin .env
seuraavasti:
WEB_PORT=8080
Sitten tiedostossa docker-compose.yml
voit käyttää tätä ympäristömuuttujaa seuraavasti:
version: "3"
services:
web:
image: php:7.4-apache
ports:
- "${WEB_PORT}:80"
volumes:
- ./app:/var/www/html
Kun docker-compose up
komento suoritetaan, web
palvelu kuuntelee porttia 8080 portin 80 sijaan.
Integrointi Docker Swamiin
Jos haluat ottaa sovelluksesi käyttöön hajautetussa ympäristössä, jossa on useita solmuja, Docker Compose voit integroida sovelluksen kanssa Docker Swarm. Tämän avulla voit hallita palveluita useissa klusterin solmuissa Docker.
Jotta voit käyttää tätä integraatiota, sinun tarvitsee vain lisätä --orchestrate
tai --with-registry-auth
-vaihtoehdot, kun suoritat docker stack deploy
tai docker-compose up
komennot ympäristössä Swarm.
Docker Compose on hyödyllinen työkalu helppoon ja tehokkaaseen sovellusten kehittämiseen, testaamiseen ja käyttöönottoon. Se minimoi kehitys- ja tuotantoympäristöjen väliset erot, varmistaa ohjelmistokehitysprosessin johdonmukaisuuden ja lisää kehitystiimien tuottavuutta.