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 upTämä komento käynnistää tiedostossa määritettyjen palveluiden säilöt
docker-compose.yml. -
Pysäytä ja poista säiliöt:
docker-compose downTämä komento pysäyttää ja poistaa kaikki projektiin liittyvät säilöt.
-
Luettelo käynnissä olevista säilöistä:
docker-compose psTämä komento näyttää projektin säilöjen tilan.
-
Näytä palvelulokit:
docker-compose logsTä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.

