Docker Compose: Perusteet ja käyttö

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.