Ինչպե՞ս դիտել աշխատող կոնտեյների լոգերը։
sobes.tech AI
Պատասխան AI-ից
# Կոնտեյների բոլոր լոգները դիտել
docker logs <container_id_or_name>
# Վերջին 100 տող լոգներ դիտել
docker logs --tail 100 <container_id_or_name>
# Կոնտեյների գործարկումից սկսած լոգները դիտել
docker logs --follow <container_id_or_name>
# Նշված ժամանակից սկսած լոգները դիտել
# Ժամանակի ձևաչափ: RFC3339 (YYYY-MM-DDTHH:MM:SSZ)
docker logs --since 2023-10-27T10:00:00Z <container_id_or_name>
# Նշված ժամանակահատվածի լոգները դիտել
docker logs --since 2023-10-27T10:00:00Z --until 2023-10-27T11:00:00Z <container_id_or_name>
# Լոգները պահել ֆայլում
docker logs <container_id_or_name> > container_logs.txt
Կոնտեյների մեջ լոգավորումը հիմնված է ծրագրի ներսում ստանդարտ ելքի (stdout) և սխալների (stderr) հոսքերի ուղղման վրա: Docker-ը հավաքում է այդ հոսքերը և մատչելի է դարձնում docker logs հրամանի միջոցով:
Այլ մոտեցումներ՝
-
Docker-ի լոգ վարորդների օգտագործում: Կոնֆիգուրացիա անել Docker դեմոնին՝ ուղարկելու լոգերը կենտրոնական համակարգերին (օրինակ՝ ELK Stack, Splunk, CloudWatch Logs) տարբեր լոգ վարորդների միջոցով: Սա արտադրական միջավայրերի համար նախընտրելի մեթոդ է:
-
Տարողության մապինգ: Հյոստ համակարգից կոնտեյների մեջ մոնտորինգով մուտք գործել, որտեղ ծրագիրը գրում է լոգերը:
# docker-compose.yml օրինակ services: my_app: image: my_app_image volumes: - /var/log/myapp:/app/logs # Տարողության մապինգԱյսպիսով, լոգերը հասանելի են հոստ մեքենայից նշված ճանապարհով:
-
Լոգ հավաքող գործակալների տեղադրում: Լոգ հավաքող գործակալներ (օրինակ՝ Filebeat, Fluentd) տեղադրել կոնտեյների մեջ կամ որպես sidecar, որոնք հավաքում են լոգերը և ուղարկում կենտրոնական համակարգ:
Այս տարբերակները թույլ են տալիս արդյունավետ կառավարել և կենտրոնացնել լոգերը մեծածավալ միջավայրերում։