50% rabat alle planer, begrænset tid. Start kl $2.48/mo
9 min tilbage
Udviklerværktøjer og DevOps

Nem guide til Docker Compose Logs: Sådan kontrolleres og administreres

Ada Lovegood By Ada Lovegood 9 min læst Opdateret 23. februar 2025
docker logs

Vil du vide, hvad Docker-apps laver bag kulisserne? Lad os lære mere om det hemmelige vindue, kendt som logs, i dine containere, der viser hver bevægelse, de foretager. Logfilerne er super nyttige til at løse problemer. Men før vi starter, lad os tage et hurtigt kig på, hvad Docker og Docker Compose er.

Docker giver dig mulighed for at pakke dine applikationer i små containere og køre dem på de fleste operativsystemer uden nogen afhængigheder. Det er som at lægge dine apps i små kasser kaldet Containere, som kan køre på samme måde overalt. At kende til containere er en vigtig forudsætning for at lære om Docker compose. Så jeg opfordrer dig til først at læse vores blog på fordelene ved containerisering.

Docker Compose kommer med Docker og forenkler udviklingen af ​​flere containeriserede applikationer ved at sammenkæde deres tjenester, netværk og opbevaring. Docker-containerlogfiler og Docker Compose-logning hjælper udviklere med at se, hvad hver container gør.

Så er du nysgerrig efter Docker Compose Logs? Du er på det rigtige sted. Denne blog vil forklare det grundlæggende i Docker Compose-logfiler og dække mere avancerede detaljer. Lær, hvordan du får mest muligt ud af Docker Compose til dine projekter.

Vigtigheden af ​​Docker Compose Logs

Forestil dig, at en udvikler starter en app med Docker, men springer opsætning af Docker-logs over. Umiddelbart virker alt fint. Men snart finder brugerne fejl, og appen bliver langsommere. Uden Docker-logfiler kan udvikleren ikke se, hvad der gik galt inde i Docker-beholderne. Docker Compose-logfiler er som en detaljeret registrering af disse containere. De registrerer hver eneste detalje af, hvad der sker, hvilket er vigtigt for at finde og løse problemer senere.

Som udvikler eller systemadministrator skal du forstå, hvad der sker i og mellem multi-chain-applikationer. Det er her, Docker Compose-logfiler fungerer som et praktisk værktøj. Så hvorfor er disse logfiler nødvendige?

  • Fejlfinding og fejlfinding

Tjek docker-logfiler, når en applikation ikke kører korrekt eller støder på fejl. Docker-logfiler er de første ressourcer, du kan se på for at spore problemet. Ved at undersøge docker-logfilerne kan udviklere lokalisere årsagen til og kilden til problemer, uanset om det er en fejl i koden, en fejlkonfiguration eller ressourceproblemer.

  • Overvågning af applikationssundhed

Regelmæssig overvågning af applikationslogfiler hjælper med at forstå tjenesternes generelle sundhed. Logfiler kan afsløre tidlige advarselstegn, såsom gentagne fejl og langsomme svar. At observere disse mønstre tidligt kan forhindre potentielle problemer i fremtiden.

  • Revision og Compliance

For applikationer, der skal følge specifikke standarder, er docker-logs det første bevis, der viser, om applikationen overholder retningslinjerne. Disse logs spiller også en væsentlig rolle i overvågningen af ​​autoriserede eller uautoriserede aktiviteter.

  • Optimering

Logfiler er værdifulde ressourcer til softwareoptimering ved at levere ydeevnedata. For eksempel kan udviklere identificere langsomt kørende forespørgsler, ineffektive kodestier eller underudnyttede ressourcer.

Udarbejdelse af en Docker-opskrift: Implementering af en webserver

I dette afsnit vil vi gennemgå at skabe en Docker-opskrift sammen. Vi skal først bygge noget for at starte vores rejse med Docker Compose-logfiler. Lad os implementere en webserver til dette formål. For at oprette en Dockerfile skal du blot køre nano dockerfil i den ønskede mappe på din VPS med følgende indhold og gem det derefter:

 

FROM nginx:alpine
RUN rm /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

Så hvad gør hver linje i denne kode?

  • Vi starter med en letvægts base, nginx: alpine.
  • Dernæst rydder vi standardvelkomstsiden af ​​Nginx.
  • Derefter sørger vi for, at webserveren lytter på port 80.
  • Til sidst kører vi Nginx-serveren med CMD.

Nu er vores Dockerfile klar, vi går videre til næste trin, som er at oprette Docker Compose-filen. Her er strukturen af docker-compose.yml fil:

version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./index.html:/usr/share/nginx/html/index.html

Lad os opdele det for at forstå hver del fuldstændigt:

  • Vi bruger version 3.8.
  • På næste linje navngiver vi vores service "web“.
  • Derefter instruerer vi Docker om at bygge vores webserver fra den aktuelle mappe.
  • Vi forbinder port 8080 på vores vært til port 80 i vores container for at gøre det muligt for vores webserver at etablere en forbindelse.
  • Til sidst, bind konfigurationskort index.html fra værtsdisken til containeren. Senere kan du oprette en index.html fil med det indhold, du ønsker, og placer det, hvor Dockerfil og docker-compose.yml filer findes.

Nu er det tid til at køre vores Docker-container med Docker Compose. Vi løber simpelthen docker-compose up.

kør Docker-container med Docker Compose

Når du har kørt docker-compose up kommando, vil Docker downloade de nødvendige billeder fra internettet og konfigurere dem som anvist i vores konfigurationsfiler.

For at kontrollere, om vores webserver er oppe og køre, skal du åbne din webbrowser, indtaste din VPS IP-adresse og anmode om adgang til port 8080.

dockeriseret webside

Som en sidebemærkning kan du bruge docker-komponere op -d for at køre beholderen i baggrunden.

Adgang til logfiler med Docker Compose

Nu er vores webserver klar, oppe og kørende. Det genererer allerede logfiler og gemmer disse oplysninger til senere brug. Adgang til dine docker-komponeringslogfiler er afgørende for fejlfinding og overvågning. Men hvordan kan vi læse disse logs? Det er her docker-compose logs kommer godt med. Sørg for, at du er i den mappe, hvor konfigurationen findes, og kør den kommando.

Adgang til logfiler med Docker Compose

Nogle gange vil du måske se liveversionen af ​​logfilerne, mens de genererer. Du skal blot tilføje -f i slutningen af ​​den forrige kommando og køre docker-compose logs -f.

Adgang til logfiler med Docker Compose

Nogle Docker-baserede applikationer giver dig muligvis ikke tidsstempler i deres logfiler. Derfor kan du bruge docker-compose logs -t for at tilføje en registreret tid for hver linje i loggen.

Adgang til logfiler med Docker Compose

Docker Logs kan også vise de seneste poster. For at opnå dette, brug docker-compose logs – hale 10 for at se de seneste 10 logposter. Docker sammensætter logs hale, og på samme måde er docker logs tail særlig nyttig, når du hurtigt vil tjekke seneste aktivitet uden at rulle gennem hele loghistorien.

adgang til logfiler med docker compose

Det primære formål med at bruge Docker Compose er at skabe multi-container-applikationer. Derfor skal du muligvis læse specifikke logfiler for en ønsket tjeneste. For at gøre det, brug docker-compose logs -f SERVICE, husk at udskifte SERVICE med dit faktiske servicenavn.

adgang til logfiler med docker

Docker-logning

Docker-økosystemet kan blive mere komplekst for konvergerede applikationer, især i store miljøer. Som vi allerede ved, genererer hver container logs. Derfor er en mekanisme kendt som logningsdriveren ansvarlig for modtagelse, levering og lagring af logfiler. Som standard bruger Docker JSON-filer til logningsdriveren, men den understøtter også forskellige andre drivere, hver med deres fordele og ulemper.

Alle er enige om, at logfiler er afgørende på forskellige områder, herunder fejlfinding og forbedring af systemets ydeevne. Nedenfor vil vi dække to af hovedaspekterne ved brug af containerlogfiler:

  • Overvågning: Logs primære formål er overvågning. De afslører generelt den generelle sundhed af vores containeriserede applikationer.
  • Fejlfinding: I tilfælde af problemer hjælper logfiler os med at opdage applikationsfejl.

Da docker logs og docker compose logs løbende genereres, kan de fylde hele VPS-lageret. Derfor har vi brug for en strategi til at administrere diskplads kaldet en Log Rotation Policy. For at oprette og bruge denne politik skal du vende tilbage til docker-compose.yml fil og åbn den. Tilføj derefter en logningssektion med nedenstående konfiguration:

version: '3.8'
services:
web:
build: .
ports:
- "8080:80"
volumes:
- ./index.htm:/usr/share/nginx/html/index.htm
logging:
driver: json-file
options:
max-size: "200k"
max-file: "10"

Du kan hele tiden justere max-størrelse og max-fil efter dine behov.

Docker Logs Leveringsmodeller

Ingeniører kan vælge en anden logningsmodel i mere avancerede miljøer end standard JSON-drivere, såsom Syslog, fluentd og andre. Det er dog vigtigt at huske, at JSON-fildriveren er velegnet til de fleste logningsscenarier, og der er muligvis ikke behov for at afvige fra standardtilstanden.

Afhængigt af din applikations arkitektur eller organisatoriske krav, kan du blive tvunget til at bruge centrale logningsløsninger kendt som Log Aggregators. Disse tjenester, herunder Elasticsearch, Logstash, Kibana osv., er designet til at modtage logfiler fra forskellige kilder og konsolidere, gemme og analysere dem på en enkelt central placering.

Omvendt bør du gemme dine logfiler ved hjælp af mere omkostningseffektive opbevaringsløsninger. Overvej scenariet, hvor din VPS bruger højhastigheds og dyrt lager; Det er muligvis ikke økonomisk at bruge sådanne premium-ressourcer til lagring af logfiler, som du måske kun har brug for til fremtidig reference.

Adskillige logningsmodeller er tilgængelige, hver med fordele og ulemper. Det er vigtigt at vurdere hver model omhyggeligt og vælge en baseret på dine specifikke behov.

Linux VPS Hosting

Få dig selv en økonomi eller premium Linux VPS til hosting af dit websted eller fjernskrivebord til den billigste pris derude. VPS Kører på Linux KVM for øget effektivitet og arbejder på kraftfuld hardware med NVMe SSD-lagring for øget hastighed.

Læs mere

Konklusion

At forstå Docker Compose-logfiler er nøglen. De hjælper med at administrere og fejlfinde dine Docker-applikationer godt. At lære at få adgang til og overvåge disse logfiler forbedrer problemløsningen og øger din apps ydeevne og sikkerhed. Uanset om du udvikler eller administrerer systemer, er det vigtigt at bruge Docker Compose-logfiler. De sørger for, at din containerstyring er effektiv.

FAQ

Hvordan kan jeg filtrere Docker Compose-logfiler efter tid?

Docker Compose tilbyder ikke en direkte metode til at filtrere logfiler efter tid. Du kan dog filtrere logfiler ved at sende dem gennem grep til mønstermatchning. For eksempel kan du bruge: docker-compose logs | grep "2023-04-06", og erstatter "2023-04-06" med det specifikke dato- eller tidsmønster, du søger efter.

Hvordan stopper man containere startet med Docker Compose?

Naviger til den mappe, der indeholder filen docker-compose.yml, og kør kommandoen docker-compose ned.

Hvordan fjerner man logfiler manuelt?

I stedet for at konfigurere logrotation i din docker-compose.yml-fil, kan du manuelt fjerne Docker JSON-logfiler fra /var/lib/docker/containers/<container_id>/. Før du gør det, bør du identificere Docker container-id'et med docker ps -a.

Kan du hale Docker logs? 

Ja, det kan du. Til det bør du bruge kommandoen docker logs sammen med -f eller -follow-indstillingen. Dette vil hale Docker-logfiler til dig.

Dele

Mere fra bloggen

Fortsæt med at læse.

En metallisk beholder afskærmet af en glødende neoncyan trådrammekuppel, med artiklens titel og Cloudzy-logo mod en dyb blå baggrund.
Udviklerværktøjer og DevOps

Top Docker-sikkerhedsfejl, der skal undgås i 2026

Du kan køre Docker i produktion i flere måneder uden et synligt problem. Containere starter, apps reagerer, intet går i stykker. Derefter opretter en blotlagt port eller en forkert konfigureret tilladelse

Rexa CyrusRexa Cyrus 15 min læst
En 3D-glødende blå kubestruktur, der repræsenterer Docker-containere, sammen med teksten 'Portainer vs Yacht: Which Docker UI Should You Choose' og Cloudzy-logoet.
Udviklerværktøjer og DevOps

Portainer vs Yacht: Hvilken Docker UI skal du vælge i 2026?

Håndtering af Docker-containere gennem CLI er effektiv til simple opsætninger, men den skaleres dårligt. Efterhånden som containerantallet vokser, bliver sporingstilstande, logfiler og opdateringer manuelt til fejl

Rexa CyrusRexa Cyrus 13 min læst
Værktøjer til kontinuerlig integration
Udviklerværktøjer og DevOps

Bedste CI/CD-værktøjer til at optimere dine DevOps-arbejdsgange i 2026

  Landskabet inden for softwareudvikling udvikler sig hurtigere end nogensinde. Og hvis du ikke vil falde bagud i denne hurtige vækst, bør du omfavne DevOps-metoder og Agile

Ada LovegoodAda Lovegood 11 min læst

Klar til at implementere? Fra $2,48/md.

Uafhængig sky, siden 2008. AMD EPYC, NVMe, 40 Gbps. 14 dages pengene tilbage.