Monisäiliösovellusten hallinta
Pyyhkäise näyttääksesi valikon
Nykyaikaisten sovellusten rakentamisessa tarvitaan usein useiden palveluiden, kuten verkkopalvelimien, tietokantojen ja välimuistien, samanaikaista suorittamista, jotta ne voivat kommunikoida ja toimia yhtenäisenä järjestelmänä. Docker Compose helpottaa 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ä siihen. Lisäksi Compose luo automaattisesti oletusverkon projektille, jolloin palvelut voivat löytää ja kommunikoida toistensa kanssa palvelun nimellä.
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 riippuvainendb-palvelusta;- Compose käynnistää tietokantakontin ennen sovellusta;
- Molemmat palvelut voivat viitata toisiinsa palvelun nimellä Compose-verkon sisällä.
Palveluiden skaalausstrategiat ja kokoonpanojen päivittäminen
Docker Compose mahdollistaa palveluiden helpon horisontaalisen skaalaamisen. Jos sovelluksen täytyy käsitellä enemmän liikennettä, voit lisätä palvelun konttien määrää käyttämällä --scale-lippua suoritettaessa docker compose up -komentoa.
Jos haluat ajaa kolme instanssia sovelluspalvelusta, käytä:
docker compose up --scale app=3
- Tämä komento käynnistää kolme konttia
app-palvelulle; - Kaikki kontit ovat yhdistetty 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 muuttamalla 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ä
Kun useita kontteja ajetaan samanaikaisesti, valvonta ja vianmääritys ovat tärkeitä. Docker Compose tarjoaa työkaluja palveluiden tilan ja lokien seuraamiseen. Voit tarkastella kaikkien konttien tulosteita reaaliajassa komennolla:
docker compose logs -f
Tämä komento näyttää kaikkien palveluiden lokit, jolloin virheet ja ongelmat on helpompi havaita 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-konttiin, jolloin voit tarkastella tiedostoja, suorittaa diagnostiikkakomentoja tai tarkistaa ympäristömuuttujia. Resurssien käytön ja konttien tilan 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. Miten skaalaat palvelun nimeltä worker viiteen instanssiin Docker Composella?
3. Millä komennolla näet kaikkien käynnissä olevien palveluiden reaaliaikaiset lokit Compose-sovelluksessa?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme