如何訪問Docker容器中的Spring Boot日誌
如何訪問Docker容器中的Spring Boot日誌
1. 概述
在本文中,我們將演示如何在Docker容器中訪問Spring Boot日誌,從本地開發環境到多容器解情況
2. Console 控制檯日誌輸出
首先構造我們的Spring BootDocker image ,使用如下命令:
mvn spring-boot:build-image
然後,當我們執行的容器的時候,我們可以立即看到STDOUT日誌在控制檯列印出來:
docker run --name=demo-container docker.io/library/spring-boot-docker:0.0.1-SNAPSHOT
Setting Active Processor Count to 1
WARNING: Container memory limit unset. Configuring JVM for 1G container.
下面,讓我在Spring Boot配置檔案application.properties中配置日誌輸出檔案
logging.file.path=logs
下面我們使用 tail -f 命令來獲取日誌檔案中的日誌內容:
docker exec -it demo-container tail -f /workspace/logs/spring.log > $HOME/spring.log
Setting Active Processor Count to 1
WARNING: Container memory limit unset. Configuring JVM for 1G container.
上面是如何獲取單個容器日誌的方法。在下一章中,我們將學習如何獲取多個容器的日誌和日誌輸出
3. 使用Docker Volume儲存Log檔案
如果我們想從主機檔案系統訪問日誌檔案,必須建立一個Docker Volume
我們可以使用命令構建我們的應用程式映象:
mvn spring-boot:build-image -v /path-to-host:/workspace/logs
然後,我們可以在主機的/path-to-host目錄下看到spring.log日誌檔案
如果我們使用Docker Compose來執行多個容器,那麼我們可以在Docker Compose中指定Volume來儲存日誌
Compose 檔案如下:
image: helloworld:latest
container_name: helloworld-logs
volumes:
- /path-to-host:/workspace/logs
執行上面的Compose file
docker-compose up
注意docker-compose.yaml 檔案必須在當前目錄下,才能執行docker-compose up ,否則會提示找不到docker-compose.yaml檔案
這樣,多個容器的日誌就會寫入到主機的/path-to-host 目錄下
4. 使用 docker logs 命令
docker logs命令顯示執行中的容器所記錄的資訊;預設情況下,docker logs顯示命令的輸出,就像在終端中互動式地執行命令時顯示的那樣。UNIX和Linux命令在執行時通常開啟三個I/O流,分別是STDIN、STDOUT和STDERR。STDIN是命令的輸入流,它可以包括來自鍵盤的輸入或來自另一個命令的輸入。STDOUT通常是命令的正常輸出,而STDERR通常用於輸出錯誤訊息。預設情況下,docker日誌顯示命令的STDOUT和STDERR。要了解更多關於I/O和Linux的資訊,請參閱Linux文件專案關於I/O重定向的文章。
docker logs -f
5. 結論
在本文中,我們介紹了幾種從Docker日誌中檢視日誌的方法
相關文章
- Docker 容器日誌分析Docker
- Docker容器日誌清理Docker
- docker 容器日誌清理方案Docker
- docker 中容器通過 API 互相訪問DockerAPI
- docker 中容器透過 API 互相訪問DockerAPI
- Spring Boot日誌使用Spring Boot
- Spring Boot日誌配置Spring Boot
- Spring Boot與日誌Spring Boot
- docker檢視容器日誌命令Docker
- docker 容器日誌集中 ELK + filebeatDocker
- Spring Boot AOP 掃盲,實現介面訪問的統一日誌記錄Spring Boot
- 容器引擎Docker和容器編排kubernetes如何優雅的收集容器日誌Docker
- Docker容器日誌管理最佳實踐Docker
- Docker應用容器日誌資訊收集Docker
- Spring Boot 2 中如何使用 Log4j2 記錄日誌Spring Boot
- Spring Boot日誌框架實踐Spring Boot框架
- Spring Boot中使用Loki日誌Spring BootLoki
- Spring Boot從入門到實戰:整合AOPLog來記錄介面訪問日誌Spring Boot
- Apche日誌系列(1):訪問日誌(轉)
- Spring Boot--日誌框架的學習Spring Boot框架
- Spring Boot logback日誌配置Spring Boot
- Spring Boot 整合 Logback 日誌Spring Boot
- Spring Boot 揭祕與實戰(三) 日誌框架篇 – 如何快速整合日誌系統Spring Boot框架
- Spring Boot 揭祕與實戰(三) 日誌框架篇 - 如何快速整合日誌系統Spring Boot框架
- FeignClient配置日誌訪問client
- ELK 處理 Spring Boot 日誌,不錯!Spring Boot
- 在Linux中,如何統計ip訪問情況?分析 nginx 訪問日誌?如何找出訪問頁面數量在前十位的ip?LinuxNginx
- Docker筆記(十三):容器日誌採集實踐Docker筆記
- 基於Docker應用容器日誌檔案收集Docker
- 利用ELK搭建Docker容器化應用日誌中心Docker應用日誌
- Spring boot學習(六)Spring boot實現AOP記錄操作日誌Spring Boot
- spring boot(四)資料訪問模組Spring Boot
- Tomcat訪問日誌淺析Tomcat
- 使用Fluentd + Elasticsearch收集訪問日誌Elasticsearch
- nginx自動切割訪問日誌Nginx
- Nginx 訪問日誌格式設定Nginx
- docker方式部署的spring boot專案無法訪問宿主機目錄(解決)DockerSpring Boot
- Spring Boot 學習筆記(5):日誌配置Spring Boot筆記