Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Monisäiliösovellusten Hallinta | Työskentely Docker Composen Kanssa
Dockerin Perusteet

bookMonisäiliösovellusten Hallinta

Nykyaikaisten sovellusten rakentamisessa on usein tarpeen ajaa useita palveluita yhdessä—kuten verkkopalvelimia, tietokantoja ja välimuisteja—jotka kommunikoivat ja toimivat yhtenäisenä järjestelmänä. Docker Compose yksinkertaistaa tätä prosessia antamalla mahdollisuuden määritellä kaikki palvelut, niiden riippuvuudet ja vuorovaikutukset yhdessä docker-compose.yml -tiedostossa.

Riippuvuuksien ja palvelulinkkien määrittely docker-compose.yml-tiedostossa

docker-compose.yml-tiedostossa jokainen palvelu voi määritellä riippuvuudet ja tavan, jolla se yhdistyy muihin palveluihin. depends_on-avain mahdollistaa palveluiden käynnistysjärjestyksen määrittelyn, varmistaen esimerkiksi, että tietokanta on käynnissä ennen kuin sovellus yrittää muodostaa yhteyttä. Lisäksi Compose luo automaattisesti oletusverkon projektille, mikä helpottaa palveluiden löytämistä ja kommunikointia toistensa kanssa palvelunimien avulla.

Oletetaan, että sinulla on verkkosovellus, joka tarvitsee tietokantaa. Compose-tiedostossa palvelut määritellään näin:

version: "3.8"
services:
  app:
    build: .
    depends_on:
      - db
  db:
    image: postgres:15

Tässä:

  • app-palvelu on riippuvainen db-palvelusta;
  • Compose käynnistää tietokantakontin ennen sovellusta;
  • Molemmat palvelut voivat viitata toisiinsa palvelunimillä Compose-verkon sisällä.

Palveluiden skaalausstrategiat ja kokoonpanojen päivittäminen

Docker Compose mahdollistaa palveluiden horisontaalisen skaalaamisen helposti. Jos sovelluksen on käsiteltävä enemmän liikennettä, palvelun konttien määrää voi lisätä käyttämällä --scale-lippua komennossa docker compose up.

Ajaaksesi kolme instanssia sovelluspalvelusta, käytä:

docker compose up --scale app=3
  • Tämä komento käynnistää kolme konttia app-palvelulle;
  • Kaikki kontit ovat liitettyinä samaan verkkoon ja voivat jakaa resursseja, kuten tietokannan;
  • Skaalattaessa varmista, että palvelut ovat tilattomia tai osaavat käsitellä useita instansseja oikein.

Kokoonpanojen päivittäminen Compose-ympäristössä on suoraviivaista:

  • Muokkaa docker-compose.yml-tiedostoa—esimerkiksi muuta ympäristömuuttujia, resurssirajoja tai palvelukuvia;
  • Ota muutokset käyttöön seuraavalla komennolla:
docker compose up -d
  • Tämä komento luo uudelleen vain ne palvelut, joiden kokoonpano on muuttunut, mikä minimoi käyttökatkokset.

Monikonttisovellusten valvonta ja vianmääritys Compose-ympäristössä

Useiden konttien ajaminen vaatii tehokasta valvontaa ja vianmääritystä. Docker Compose tarjoaa työkaluja palveluiden tilan ja lokien seuraamiseen. Kaikkien konttien tulosteen voi tarkastella reaaliajassa komennolla:

docker compose logs -f

Tämä komento näyttää kaikkien palveluiden lokit, mikä helpottaa virheiden ja ongelmien havaitsemista niiden ilmetessä. Jos haluat keskittyä tiettyyn palveluun, määritä sen nimi:

docker compose logs db

Vianmääritystä varten voit siirtyä käynnissä olevaan konttiin komennolla:

docker compose exec app sh

Tämä komento avaa komentorivin app-kontin sisällä, jolloin voit tarkastella tiedostoja, suorittaa diagnostiikkakomentoja tai tarkistaa ympäristömuuttujia. Resurssien käytön ja konttien kunnon valvonta onnistuu myös Dockerin vakiotyökaluilla, kuten docker stats.

1. Mikä avain docker-compose.yml -tiedostossa varmistaa, että yksi palvelu käynnistyy ennen toista?

2. Kuinka skaalaat palvelun nimeltä worker viiteen instanssiin Docker Composella?

3. Millä komennolla näet kaikkien käynnissä olevien palveluiden reaaliaikaiset lokit Compose-sovelluksessa?

question mark

Mikä avain docker-compose.yml -tiedostossa varmistaa, että yksi palvelu käynnistyy ennen toista?

Select the correct answer

question mark

Kuinka skaalaat palvelun nimeltä worker viiteen instanssiin Docker Composella?

Select the correct answer

question mark

Millä komennolla näet kaikkien käynnissä olevien palveluiden reaaliaikaiset lokit Compose-sovelluksessa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

Can you explain how to use environment variables in docker-compose.yml?

What are some best practices for managing secrets with Docker Compose?

How do I connect an external service (like Redis) to my Compose network?

Awesome!

Completion rate improved to 7.14

bookMonisäiliösovellusten Hallinta

Pyyhkäise näyttääksesi valikon

Nykyaikaisten sovellusten rakentamisessa on usein tarpeen ajaa useita palveluita yhdessä—kuten verkkopalvelimia, tietokantoja ja välimuisteja—jotka kommunikoivat ja toimivat yhtenäisenä järjestelmänä. Docker Compose yksinkertaistaa tätä prosessia antamalla mahdollisuuden määritellä kaikki palvelut, niiden riippuvuudet ja vuorovaikutukset yhdessä docker-compose.yml -tiedostossa.

Riippuvuuksien ja palvelulinkkien määrittely docker-compose.yml-tiedostossa

docker-compose.yml-tiedostossa jokainen palvelu voi määritellä riippuvuudet ja tavan, jolla se yhdistyy muihin palveluihin. depends_on-avain mahdollistaa palveluiden käynnistysjärjestyksen määrittelyn, varmistaen esimerkiksi, että tietokanta on käynnissä ennen kuin sovellus yrittää muodostaa yhteyttä. Lisäksi Compose luo automaattisesti oletusverkon projektille, mikä helpottaa palveluiden löytämistä ja kommunikointia toistensa kanssa palvelunimien avulla.

Oletetaan, että sinulla on verkkosovellus, joka tarvitsee tietokantaa. Compose-tiedostossa palvelut määritellään näin:

version: "3.8"
services:
  app:
    build: .
    depends_on:
      - db
  db:
    image: postgres:15

Tässä:

  • app-palvelu on riippuvainen db-palvelusta;
  • Compose käynnistää tietokantakontin ennen sovellusta;
  • Molemmat palvelut voivat viitata toisiinsa palvelunimillä Compose-verkon sisällä.

Palveluiden skaalausstrategiat ja kokoonpanojen päivittäminen

Docker Compose mahdollistaa palveluiden horisontaalisen skaalaamisen helposti. Jos sovelluksen on käsiteltävä enemmän liikennettä, palvelun konttien määrää voi lisätä käyttämällä --scale-lippua komennossa docker compose up.

Ajaaksesi kolme instanssia sovelluspalvelusta, käytä:

docker compose up --scale app=3
  • Tämä komento käynnistää kolme konttia app-palvelulle;
  • Kaikki kontit ovat liitettyinä samaan verkkoon ja voivat jakaa resursseja, kuten tietokannan;
  • Skaalattaessa varmista, että palvelut ovat tilattomia tai osaavat käsitellä useita instansseja oikein.

Kokoonpanojen päivittäminen Compose-ympäristössä on suoraviivaista:

  • Muokkaa docker-compose.yml-tiedostoa—esimerkiksi muuta ympäristömuuttujia, resurssirajoja tai palvelukuvia;
  • Ota muutokset käyttöön seuraavalla komennolla:
docker compose up -d
  • Tämä komento luo uudelleen vain ne palvelut, joiden kokoonpano on muuttunut, mikä minimoi käyttökatkokset.

Monikonttisovellusten valvonta ja vianmääritys Compose-ympäristössä

Useiden konttien ajaminen vaatii tehokasta valvontaa ja vianmääritystä. Docker Compose tarjoaa työkaluja palveluiden tilan ja lokien seuraamiseen. Kaikkien konttien tulosteen voi tarkastella reaaliajassa komennolla:

docker compose logs -f

Tämä komento näyttää kaikkien palveluiden lokit, mikä helpottaa virheiden ja ongelmien havaitsemista niiden ilmetessä. Jos haluat keskittyä tiettyyn palveluun, määritä sen nimi:

docker compose logs db

Vianmääritystä varten voit siirtyä käynnissä olevaan konttiin komennolla:

docker compose exec app sh

Tämä komento avaa komentorivin app-kontin sisällä, jolloin voit tarkastella tiedostoja, suorittaa diagnostiikkakomentoja tai tarkistaa ympäristömuuttujia. Resurssien käytön ja konttien kunnon valvonta onnistuu myös Dockerin vakiotyökaluilla, kuten docker stats.

1. Mikä avain docker-compose.yml -tiedostossa varmistaa, että yksi palvelu käynnistyy ennen toista?

2. Kuinka skaalaat palvelun nimeltä worker viiteen instanssiin Docker Composella?

3. Millä komennolla näet kaikkien käynnissä olevien palveluiden reaaliaikaiset lokit Compose-sovelluksessa?

question mark

Mikä avain docker-compose.yml -tiedostossa varmistaa, että yksi palvelu käynnistyy ennen toista?

Select the correct answer

question mark

Kuinka skaalaat palvelun nimeltä worker viiteen instanssiin Docker Composella?

Select the correct answer

question mark

Millä komennolla näet kaikkien käynnissä olevien palveluiden reaaliaikaiset lokit Compose-sovelluksessa?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 3
some-alt