Kuinka katsella ja hallita Docker-lokkeja tehokkaasti

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_IDKorvaa 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 psTä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 openwebuiVoit myös käyttää kontin ID:tä sen nimen sijaan lokien näkemiseksi. Esimerkiksi:
docker logs 1f351684ae30Yleiset 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ä.
| Vaihtoehto | Kuvaus | Esimerkkikomennot |
|---|---|---|
| –details | Näyttää lisätietoja lokissa. | docker logs –details container_name |
| –follow, -f | Pitää lokit esillä uusista merkinnöistä reaaliajassa. | docker logs -f container_name |
| –since | Nä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, -n | Näyttää vain tietyn määrän rivejä lokin lopusta. | docker logs –tail 50 container_name |
| –timestamps, -t | Lisää aikaleimat jokaiselle lokiriville. | docker logs -t container_name |
| –until | Nä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 openwebuiSamoin 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.txtVoit 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 logsKuitenkin, jos haluat vain lokit yhdeltä palvelulta, mainitse sen nimi komennon jälkeen.
docker compose logs service_nameHuom: 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