Kuinka katsella ja hallita Docker-lokkeja tehokkaasti

Kuinka katsella ja hallita Docker-lokkeja tehokkaasti
Indeksi
  1. Mitä ovat Docker-lokit
  2. Kuinka saat/näet Docker-lokit
  3. Yleiset Docker-lokit: vaiheet ja liput
  4. Tallenna Docker-lokit tiedostoon
  5. Lokien tarkastelu Docker Composessa
  6. Vinkkejä Docker-lokien hallintaan
  7. Yhteenveto

Docker-lokit ovat kriittisiä sovellusten vakauden ja ongelmien ratkaisun kannalta. Tässä oppaassa opit, miten hankit, hallitset ja käytät lokitietoja tehokkaasti.

Docker-konttien valvonta on oleellista, jotta sovelluksesi pysyvät vakaana ja toimivat moitteettomasti. Docker-lokit antavat sinulle mahdollisuuden nähdä, mitä konttisi sisällä tapahtuu, ja mahdollistavat suorituksen seurannan, virheiden tunnistamisen ja ongelmien ratkaisemisen nopeammin. Tässä oppaassa selitämme, kuinka saat Docker-lokit, ymmärrät niiden merkityksen ja käytät näitä tietoja tehokkaasti yleisten konttiongelmien korjaamiseen.

Mitä ovat Docker-lokit

Docker-lokit ovat tietueita kaikesta, mitä tapahtuu toimivassa Docker-kontissa. Ne sisältävät sekä normaalia lähtöä (stdout) että virheilmoituksia (stderr), ja auttavat sinua selvittämään, miten konttisi toimii ja onko siinä ongelmia.

Oletusarvoisesti Docker tallentaa nämä lokit JSON-tiedostoina isäntäkoneen “/var/lib/docker/containers” -hakemistoon. Jokaisella kontilla on oma lokitiedostonsa nimeltään “[container_id]-json.log”. Voit avata nämä tiedostot suoraan tai käyttää docker logs -komentoa nähdäksesi ne terminaalissa.

Nämä lokit sisältävät sovellustietoja, varoituksia ja virheitä, jotka auttavat sinua ongelmien ratkaisemisessa. Ne saattavat myös sisältää järjestelmätietoja, kuten käynnistystapahtumia tai resurssien käyttöä koskevia yksityiskohtia.

Lokien hallitsemiseksi tehokkaasti Docker käyttää lokiajoittimia. Lokiajoitin määrittää, minne ja miten lokit tallennetaan tai lähetetään. Oletusarvoinen ajuri, json-file, tallentaa lokit paikallisesti JSON-muodossa, mutta voit valita muita ajureita lähettääksesi lokit ulkoisiin järjestelmiin helpottamaan hallintaa ja analysointia.

Kuinka saat/näet Docker-lokit

docker logs -komento antaa sinun nähdä lokit toimivasta kontista, joka käyttää “json-file” tai journald -lokiajuria. Voit suorittaa sen seuraavasti:

docker logs [OPTIONS] CONTAINER_NAME_OR_ID

Korvaa CONTAINER_NAME_OR_ID sen kontti, jonka haluat tarkistaa, nimeä tai ID:tä käyttäen. Näet luettelon käynnissä olevista konteista käyttämällä seuraavaa komentoa:

docker ps

Tämä komento näyttää listan aktiivisista konteista niiden ID:en, nimien, tilan ja muiden hyödyllisten tietojen kanssa.

Esimerkissä yllä Dockerilla on kaksi käynnissä olevaa konfiguraatiota: openwebui ja ollama. Voit tarkastella tietyn kontti lokit, käyttämällä pelkästään sen nimeä. Esimerkiksi, tarkastaaksesi openwebui-kontin lokit, suorita tämä komento.

docker logs openwebui

Voit myös käyttää kontin ID:tä sen nimen sijaan lokien näkemiseksi. Esimerkiksi:

docker logs 1f351684ae30

Yleiset Docker-lokit: vaiheet ja liput

Docker antaa sinun käyttää erilaisia vaihtoehtoja docker logs -komennon kanssa hallitaksesi, miten lokit näytetään. Tässä joitakin hyödyllisiä.

VaihtoehtoKuvausEsimerkkikomennot
–detailsNäyttää lisätietoja lokissa.docker logs –details container_name
–follow, -fPitää lokit esillä uusista merkinnöistä reaaliajassa.docker logs -f container_name
–sinceNäyttää lokit, jotka on luotu tietyn ajan tai kestävän jälkeen (esimerkiksi 2024-07-08T13:42:13Z tai 10m).docker logs –since 10m container_name
–tail, -nNäyttää vain tietyn määrän rivejä lokin lopusta.docker logs –tail 50 container_name
–timestamps, -tLisää aikaleimat jokaiselle lokiriville.docker logs -t container_name
–untilNäyttää lokit, jotka on luotu ennen tiettyä aikaa.docker logs –until 2024-07-08T14:00:00Z container_name

Esimerkiksi, nähdäksesi viimeiset 50 lokimerkintää tietystä kontista, suorita docker logs -komento --tail -vaihtoehdon kanssa.

docker logs --tail 50 openwebui

Samoin voit käyttää muita vaihtoehtoja, kuten --follow seuratakseen lokit live-tilassa tai --since suodattaaksesi lokit ajan mukaan tarpeesi mukaan.

Tallenna Docker-lokit tiedostoon

Voit tallentaa Docker-lokit tiedostoon käyttämällä yksinkertaista.

ohjausoperaattori tai sisäänrakennetut komento-optio. Esimerkiksi seuraava komento tallentaa Docker-lokit tiedostoon nimeltä “container_logs.txt”.

docker logs container_name > container_logs.txt

Voit myöhemmin avata tämän tiedoston millä tahansa tekstieditorilla (kuten Notepad, VS Code tai nano) nähdäksesi tallennetut lokit.

Lokien tarkastelu Docker Composessa

Voit helposti tarkastella lokitietoja Docker Composen hallitsemilta konteilta käyttämällä komentoa docker compose logs. Esimerkiksi nähdäksesi lokit kaikista konteista Compose-projektissasi, suorita seuraava komento:

docker compose logs

Kuitenkin, jos haluat vain lokit yhdeltä palvelulta, mainitse sen nimi komennon jälkeen.

docker compose logs service_name

Huom: Jos käytät vanhempaa versiota Dockerista, komento saattaa olla docker-compose logs (taukoviivalla). Molemmat toimivat samalla tavalla, riippuen Docker-versiostasi.

Vinkkejä Docker-lokien hallintaan

Docker käyttää lokityökalua kaapatakseen ja tallentaakseen konttien tulosteita. Oletusarvoisesti se käyttää “json-file” -ajuria, joka tallentaa lokit JSON-muodossa isäntäkoneelle. Voit vaihtaa muihin ajureihin lähettääksesi lokit ulkoisiin palveluihin tai käyttää mukautettua ajuria, jos tarvitset enemmän hallintaa.

Docker tukee kahta lokin toimitustilaa. Estävä tila lähettää lokit heti, mutta saattaa hieman vaikuttaa suorituskykyyn. Ei-estävä tila tallentaa lokit tilapäisesti muistiin ennen niiden lähettämistä. Se vähentää viiveitä, mutta saattaa menettää lokit, jos muistin puskuri täyttyy.

Voit myös käsitellä lokitusta sovelluksessasi joustavuuden vuoksi. Koska konttien tiedot ovat kuitenkin tilapäisiä, on parempi tallentaa lokit pysyvään tallennustilaan tai lähettää ne ulkoiseen lokienhallintapalveluun.

Docker-tilavuuksia käyttämällä voit suojata lokisi luotettavasti. Tilavuudet tallentavat tietoja isäntäkoneelle ja pysyvät saatavilla, vaikka kontti lopetettaisiin tai käynnistettäisiin uudelleen. Ne ovat pitkäaikaiseen tallennukseen parempia kuin bind-mountit.

Toinen hyvä lähestymistapa on käyttää omistettua lokituskonetta. Se kerää ja hallitsee lokit useista konteista ja lähettää ne keskitettyyn järjestelmään. Tämä asetus auttaa pitämään pääsovellusastiat kevyinä ja helposti hallittavina.

Yhteenveto

Docker-lokit ovat tärkeitä säilyttämään konttien suorituskykyä ja ratkaisemaan ongelmat nopeasti. Voit käyttää komentoja kuten docker logs ja noudattaa parhaita käytäntöjä, kuten pysyvää tallennusta ja oikeita lokityökaluja, varmistaaksesi luotettavan lokienhallinnan. Hyvin organisoidun lokituksen avulla voit pitää kontit vakaana ja sovellukset toiminnassa sujuvasti. Parempaa lokiseurantaa ja analysointia varten harkitse työkalujen, kuten ELK Stackin, Fluentdin, Prometheuksen ja Grafanan, käyttöä.

Nyt kun olet lukenut Kuinka katsella ja hallita Docker-lokkeja tehokkaasti loppuun, kutsumme sinut tutustumaan lisää Oppaat-kategoriaan. Löydät sieltä muita mielenkiintoisia artikkeleita, jotka laajentavat tietojasi ja pitävät sinut ajan tasalla. Älä lopeta lukemista ja löytämistä!

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Go up