Kuinka tarkastella ja hallita Docker-lokeja tehokkaasti

Docker-säilöjen valvonta on välttämätöntä, jotta sovelluksesi pysyvät vakaina ja sujuvasti käynnissä. Docker-lokien avulla näet, mitä säilöissäsi tapahtuu, ja voit seurata suorituskykyä, tunnistaa virheitä ja tehdä vianmäärityksen nopeammin. Tässä oppaassa selitämme, kuinka Docker-lokit saadaan, ymmärretään ja miten niitä käytetään yleisten säilöongelmien tehokkaaseen korjaamiseen.

Sisällysluettelo

Mitä ovat Docker-lokit

Docker-lokit ovat tietueita kaikesta, mitä käynnissä olevassa Docker-säiliössä tapahtuu. Ne sisältävät sekä vakiotulosteen (stdout) että virheilmoitukset (stderr), ja niiden avulla voit selvittää, kuinka säilösi toimii ja onko siinä ongelmia.

Oletusarvoisesti Docker tallentaa nämä lokit JSON-tiedostoina isäntäjärjestelmään "/var/lib/docker/containers" -hakemistoon. Jokaisella säilöllä on oma lokitiedosto nimeltä "[container_id]-json.log". Voit avata nämä tiedostot suoraan tai käyttäädocker logs-komento nähdäksesi ne terminaalissa.

Nämä lokit sisältävät sovellusviestejä, varoituksia ja virheitä, jotka auttavat virheenkorjausongelmissa. Ne voivat sisältää myös järjestelmätietoja, kuten käynnistystapahtumia tai resurssien käyttötietoja.

Lokien hallintaan tehokkaasti Docker käyttää lokiohjaimia. Lokiohjain määrittää, missä ja miten lokit tallennetaan tai lähetetään. Oletusohjain, json-tiedosto, tallentaa lokit paikallisesti JSON-muodossa, mutta voit valita muita ohjaimia lähettämään lokit ulkoisiin järjestelmiin hallinnan ja analyysin helpottamiseksi.

Thedocker logskomennolla voit tarkastella lokeja käynnissä olevasta säilöstä, joka käyttää "json-tiedostoa" tai kirjattua lokiohjainta. Voit suorittaa sen seuraavasti:

docker logs [OPTIONS] CONTAINER_NAME_OR_ID

KorvataCONTAINER_NAME_OR_IDsen säilön todellisen nimen tai tunnuksen kanssa, jonka haluat tarkistaa. Näet luettelon käynnissä olevista säilöistä käyttämällä tätä komentoa:

docker ps

Tämä komento näyttää luettelon aktiivisista säilöistä sekä niiden tunnukset, nimet, tilan ja muut hyödylliset tiedot.

Yllä olevassa esimerkissä Docker käyttää kahta säilöä: openwebui ja ollama. Jos haluat tarkastella tietyn säilön lokeja, käytä sen nimeä. Suorita tämä komento esimerkiksi tarkistaaksesi openwebui-säilön lokit.

docker logs openwebui

Voit myös käyttää säilön tunnusta sen nimen sijaan tarkastellaksesi lokeja. Esimerkiksi:

docker logs 1f351684ae30

Yleiset Dockerin lokivaihtoehdot ja liput

Dockerin avulla voit käyttää erilaisia ​​vaihtoehtoja Docker logs -komennon kanssa lokien näyttötavan ohjaamiseen. Tässä on joitain hyödyllisiä.

VaihtoehtoKuvausEsimerkkikomento
– yksityiskohdatNäyttää lisätiedot lokeissa.telakointilokit – tiedot kontin_nimi
-seuraa, -fNäyttää jatkuvasti uusia lokimerkintöjä reaaliajassa.telakointilokit -f kontin_nimi
-koskaNäyttää lokit, jotka on luotu tietyn ajan tai keston jälkeen (esimerkiksi 2024-07-08T13:42:13Z tai 10m).telakointilokit – 10 m asti kontin_nimi
-häntä, -nNäyttää vain tietyn määrän rivejä lokien lopusta.docker logs – tail 50 kontin_nimi
-aikaleimat, -tLisää aikaleimat jokaiselle lokiriville.Docker lokit -t kontin_nimi
-kunnesNäyttää lokit, jotka on luotu ennen tiettyä aikaa.telakointilokit – 2024-07-08T14:00:00Z asti kontin_nimi

Jos haluat esimerkiksi nähdä tietyn säilön 50 viimeisintä lokimerkintää, suoritadocker logskomennon kanssa--tailvaihtoehto.

docker logs --tail 50 openwebui

Vastaavasti voit käyttää muita vaihtoehtoja, kuten--followkatsoa lokeja livenä tai--sincesuodattaa lokit ajan mukaan tarpeidesi mukaan.

Tallenna Docker-lokit tiedostoon

Voit tallentaa Docker-lokit tiedostoon käyttämällä yksinkertaista uudelleenohjausoperaattoria tai sisäänrakennettuja komentoasetuksia. Esimerkiksi seuraava komento tallentaa Docker-lokit tiedostoon, jonka nimi on "container_logs.txt".

docker logs container_name > container_logs.txt

Voit avata tämän tiedoston myöhemmin millä tahansa tekstieditorilla (kuten Notepadilla, VS Codella tai nanolla) tarkastellaksesi tallennettuja lokeja.

Näytä lokit Docker Composessa

Voit helposti tarkastella lokeja Docker Composen hallinnoimista säilöistä käyttämällädocker compose logskomento. Jos esimerkiksi haluat nähdä kaikkien Compose-projektisi säilöjen lokit, suorita seuraava komento:

docker compose logs

Jos kuitenkin haluat lokit vain yhdestä palvelusta, mainitse sen nimi komennon jälkeen.

docker compose logs service_name

Huomautus:Jos käytät Dockerin vanhempaa versiota, komento saattaa olladocker-compose logs(yhdysviivalla). Molemmat toimivat samalla tavalla Docker-versiostasi riippuen.

Vinkkejä Docker-lokien hallintaan

Docker käyttää lokiohjaimia konttitulosteen kaappaamiseen ja tallentamiseen. Oletuksena se käyttää "json-file" -ohjainta, joka tallentaa lokit JSON-muodossa isäntäjärjestelmään. Voit vaihtaa muihin ohjaimiin lähettääksesi lokeja ulkoisiin palveluihin tai käyttää mukautettua ohjainta, jos tarvitset enemmän hallintaa.

Docker tukee kahta lokin toimitustapaa. Estotila lähettää lokit välittömästi, mutta se voi vaikuttaa hieman suorituskykyyn. Ei-estotila tallentaa lokit väliaikaisesti muistiin ennen niiden lähettämistä. Se vähentää viiveitä, mutta voi menettää lokit, jos muistipuskuri täyttyy.

AIHEUTTAA:New York lopettaa AI Rent -talttauksen tehokkaasti

Voit myös käsitellä kirjaamista sovelluksessasi joustavuuden lisäämiseksi. Koska säilön tiedot ovat kuitenkin väliaikaisia, on parempi tallentaa lokit pysyvään tallennustilaan tai välittää ne ulkoiseen lokinhallintapalveluun.

Docker-taltioiden käyttäminen on luotettava tapa pitää lokit turvassa. Volyymit tallentavat tiedot isäntäkoneelle ja pysyvät käytettävissä, vaikka kontti pysähtyy tai käynnistyy uudelleen. Ne sopivat paremmin pitkäaikaiseen varastointiin kuin sidontakiinnikkeisiin.

Toinen hyvä tapa on käyttää omaa hakkuukonttia. Se kerää ja hallitsee lokit useista konteista ja välittää ne keskitettyyn järjestelmään. Tämä asetus auttaa pitämään tärkeimmät sovellussäiliöt kevyinä ja helposti hallittavissa.

Päätös

Docker-lokit ovat välttämättömiä kontin suorituskyvyn seurantaan ja ongelmien nopeaan ratkaisemiseen. Voit käyttää komentoja, kutendocker logsja noudata parhaita käytäntöjä, kuten jatkuvaa tallennusta ja asianmukaisia ​​lokiohjaimia, varmistaaksesi luotettavan lokinhallinnan. Järjestetyllä lokiasetuksella voit pitää säilösi vakaina ja sovelluksesi toimivat sujuvasti. Voit parantaa lokien seurantaa ja analysointia käyttämällä työkaluja, kuten ELK Stack, Fluentd, Prometheus ja Grafana.

Related Posts