一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - 詳解Docker在哪里保存日志文件

詳解Docker在哪里保存日志文件

2022-01-22 17:06mikes zhang 服務器知識

本文主要介紹了Docker在哪里保存日志文件,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

調試大多數 Linux 程序通常涉及檢查日志文件,這可能是一個復雜的過程。但是,在 Docker 下的容器化環境中運行時,您需要使用更具體的工具來調試生產中的應用程序。

日志存儲在哪里?

簡單的答案是 Docker 將容器日志存儲在其主要存儲位置/var/lib/docker/. 每個容器都有一個特定于其 ID 的日志(完整 ID,而不是通常顯示的縮短的 ID),您可以像這樣訪問它:

?
1
/var/lib/docker/containers/ID/ID-json.log

這 就是它們的存儲位置,但由于它們采用 JSON 格式,因此不易讀取,并且必須使用完整的容器 ID 很煩人。Docker 提供了一個內置命令來查看它們:

?
1
docker logs -f e4bd48ef3103

在這里,該-f 標志將保持提示打開并“關注”文件中的任何新條目。您還可以使用–tail 該文件,或使用–timestamps 來顯示日志時間,或使用–until并 --since 根據時間進行過濾。

如果您使用 Docker Compose,則可以使用其中的 log 命令輕松查看所有日志:

?
1
docker-compose  logs

但是,您會注意到的一件事是 STDOUT 和 STDERR,它們對很多事情都很有用,但只顯示 Docker 文件中“CMD”指定的入口點的控制臺輸出。許多應用程序都有自己的專用日志系統,這些系統通常會記錄到/var/log/nginx/access.log. 仍然可以通過 Docker 從主機端訪問這樣的日志。

從容器內的應用程序查看日志

根據容器的不同,這可能不是必需的。例如,默認的 NGINX 容器設置為將其 Docker 日志發送到 STDOUT 以簡化日志檢查。它使用/dev/stdout 指向日志文件的符號鏈接來執行此操作,您可以為容器設置類似的內容。

?
1
2
RUN ln -sf /dev/stdout /var/log/nginx/access.log
&& ln -sf /dev/stderr /var/log/nginx/error.log

但是,如果您想查看容器內的特定文件,您可以這樣做。Docker 提供的exec -it 命令允許您在任何正在運行的 Docker 進程中運行任何命令。使用它,您可以在 Docker 容器內跟蹤日志文件:

?
1
docker exec -it e4bd48ef3103 tail -f log.txt

因為這允許您運行任何命令,所以您可以使用journalctl 或任何其他您想要的調試策略,只要您以docker exec -it. /bin/bash 如果你想跳進去四處逛逛,你甚至可以跑步。

一個更適合主機服務的永久性解決方案是使用 Docker 卷掛載。您可以將類似目錄綁定/var/log/nginx 到主機可見的卷。首先,創建一個新卷:

?
1
docker volume create nginx-logs

并使用以下命令運行容器–mount:

?
1
2
3
4
docker run -d \
--name devtest \
--mount source=nginx-logs,target=/var/log/nginx \
nginx:latest

如果您使用 Docker Compose,則該過程可以自動化:

?
1
2
3
4
5
6
7
8
9
10
version: "3.0"
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - nginx-logs:/var/log/nginx/
volumes:
  nginx-logs:

這樣,主機上的任何日志聚合服務都可以直接攝取日志文件。

查看 Docker 守護進程日志

如果您想查看服務器上整個 Docker 服務的特定日志,而不是任何特定的容器化應用程序,您需要查看journalctl 日志:

?
1
sudo journalctl -fu docker.service

這是它在大多數系統上的存儲位置,但在某些系統上的位置不同:

  • 亞馬遜Linux: /var/log/docker
  • CentOS/RHEL: /var/log/messages | grep docker
  • 蘋果: ~/Library/Containers/com.docker.docker/Data/log/vm/dockerd.log
  • Windows: AppData\Roaming\Docker\log\vm\dockerd.log 

到此這篇關于詳解Docker在哪里保存日志文件的文章就介紹到這了,更多相關Docker保存日志文件內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/wlcs_6305/article/details/122112322

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国内老司机精品视频在线播出 | 欧美成人精品第一区二区三区 | 香蕉草莓视频 | 国产午夜精品一区二区三区不卡 | 男男羞羞视频网站国产 | 鞋奴的视频VK | 免费全看男女拍拍拍的视频 | 日韩制服丝袜在线观看 | 大胸纲手被羞羞漫画网站 | kkkk4444在线看片 | 免费看成年视频网页 | 国产成人在线综合 | 日本高清视频网址 | 高清国产精品久久 | 韩国三级在线观看 完整版 韩国三级视频网站 | 双子母性本能在线观看 | 91精品国产高清久久久久 | 欧美日韩亚洲另类人人澡 | 久久国产36精品色熟妇 | 狠狠干快播| 精品综合久久久久久88小说 | 极品手交handjobtattoo | 亚洲国产美女精品久久 | 亚州男人天堂 | 逼逼流水了 | 99re7在线精品免费视频 | 欧美人与牲动交xxx 欧美人妖另类性hd 欧美人人干 | 亚洲国产成人99精品激情在线 | 精品欧美一区二区三区久久久 | 国产精品久久久久久影视 | 色橹| 日本一区二区三区四区无限 | 亚洲va久久久久 | 国产日日干| 国产盗摄wc厕所撒尿视频 | 好姑娘完整版在线观看中文 | 成人女人天堂午夜视频 | 黑人巨大和日本娇小中出 | 视频在线观看入口一二三2021 | 日本人成动漫网站在线观看 | 日本xxx在线观看免费播放 |