婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Docker 容器日志分析

Docker 容器日志分析

熱門標簽:物超所值的400電話申請 信陽銷售外呼系統招商 申請400電話號碼多少錢 遼寧電銷平臺外呼系統軟件 coreldraw地圖標注 如何在各種地圖標注自己的地址 百應電銷機器人靠譜嗎 營銷電銷機器人招商 菏澤crm外呼系統價格

查看容器日志

先使用  docker run -it --rm -d -p 80:80 nginx:1.15.8-alpine 命令啟動一個nginx容器。如果沒有異常,會得到容器ID如  d2408a7931c95a3a83ffeca2fba887763cf925a67890ef3be4d9ff838aa25b00  的長串。再使用  curl -i http://127.0.0.1  訪問服務,確認nginx容器正常啟動運行。最后使用  docker logs -f d24  查看容器的日志輸出,大概如下:

172.17.0.1 - - [24/Mar/2019:03:51:21 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"

一般來說使用容器ID的前3位即可

以上就是我們查看容器日志的日常方法了,非常簡單實用。

容器日志文件存儲

容器的日志會以json文件方式存儲在本地磁盤,可以使用下面方式查看文件路徑  docker inspect d42 | grep Log 可以找到:

"LogPath": "/var/lib/docker/containers/d2408a7931c95a3a83ffeca2fba887763cf925a67890ef3be4d9ff838aa25b00/d2408a7931c95a3a83ffeca2fba887763cf925a67890ef3be4d9ff838aa25b00-json.log",

注意1:mac上沒有/var/lib/docker目錄 ,因為docker for mac的運作方式不一樣,最好使用linux系統練習。

注意2:  如果LogPath內容為空,大概是因為docker engine版本,升級docker版本能到docker-ce 18.09.3

查看 d2408a7931c95a3a83ffeca2fba887763cf925a67890ef3be4d9ff838aa25b00-json.log 文件,可以看到:

{"log":"172.17.0.1 - - [24/Mar/2019:03:51:21 +0000] \"GET / HTTP/1.1\" 200 612 \"-\" \"curl/7.29.0\" \"-\"\r\n","stream":"stdout","time":"2019-03-24T03:51:21.982476951Z"}

這條信息的log字段內容和之前通過  docker logs  命令查看的內容一致。

容器日志會跟隨容器生命周期,容器銷毀后日志也會銷毀。使用  docker stop 24  關停測試的nginx服務。因為容器啟動使用時候用了  --rm  參數,關停后會自動清理刪除,所以會發現 /var/lib/docker/containers/d2408a7931c95a3a83ffeca2fba887763cf925a67890ef3be4d9ff838aa25b00  目錄不存在了,相應的日志文件也就刪除了。

容器日志文件滾動策略

docker容器日志默認寫入json文件,在線上運行時候會有磁盤寫滿的風險。可以調整策略,讓其進行滾動。修改/etc/docker/daemon.json(如果沒有就手工創建一個),增加下面內容:

{
 "log-opts": {
 "max-size": "1m",
 "max-file": "3"
 }
}

修改完成后重啟docker服務:

systemctl daemon-reload
systemctl restart docker.service

測試一下新的日志策略,使用下面的命令創建一個容器:

docker run -d --rm alpine:3.6 sh -c "while true; do echo hello world; usleep 10; done"

這個alpine容器就是每隔10微秒輸出hello world,保持高頻度輸出,快速生產日志文件。

注:shell中的時間控制

1、sleep : 默認為秒。
sleep 1s 表示延遲一秒 
sleep 1m 表示延遲一分鐘 
sleep 1h 表示延遲一小時 
sleep 1d 表示延遲一天    

2、usleep : 默認以微秒。 

1s = 1000ms = 1000000us

按照前文中查看日志文件的方法

# pwd
/var/lib/docker/containers/aa3307f5b42770319129e126122be123cfd8e0ebe1c412371ad27e62faa007e3
# ls -lah
total 2.6M
drwx------ 4 root root 4.0K Mar 24 16:22 .
drwx------ 3 root root 4.0K Mar 24 16:21 ..
-rw-r----- 1 root root 647K Mar 24 16:22 aa3307f5b42770319129e126122be123cfd8e0ebe1c412371ad27e62faa007e3-json.log
-rw-r----- 1 root root 977K Mar 24 16:22 aa3307f5b42770319129e126122be123cfd8e0ebe1c412371ad27e62faa007e3-json.log.1
-rw-r----- 1 root root 977K Mar 24 16:21 aa3307f5b42770319129e126122be123cfd8e0ebe1c412371ad27e62faa007e3-json.log.2

很容易發現,日志文件的策略就是維持3個1m大小文件存在,和我們設置保持一致。

測試完成后,記得使用docker stop aa3 清理測試現場,max-size也可以按照真實需求調整大小。

nginx容器日志

了解docker容器的日志策略后,再看看常用的容器是如何處理的。先看看nginx容器。

首先  docker run -it --rm -d -p 80:80 nginx:1.15.8-alpine  創建一個nginx容器,然后  docker exec -it b6d sh  進入容器,查看/etc/nginx/nginx.conf可以看到下面內容:

error_log /var/log/nginx/error.log warn;
access_log /var/log/nginx/access.log main;

也就是nginx會將錯誤日志和訪問日志寫入對應的日志文件。繼續查看/var/log/nginx目錄:

/var/log/nginx # ls -lah
total 0
drwxr-xr-x 2 root  root   39 Mar 4 07:54 .
drwxr-xr-x 3 root  root   18 Mar 4 07:54 ..
lrwxrwxrwx 1 root  root   11 Jan 31 23:32 access.log -> /dev/stdout
lrwxrwxrwx 1 root  root   11 Jan 31 23:32 error.log -> /dev/stderr

這就發現奧秘了,access.log文件會通過軟鏈接重定向到標準輸出,而錯誤日志error.log則會重定向標準錯誤。這樣使用docker log命令就可以看到nginx的訪問日志了。

為了進一步驗證,查看nginx dockerfile文件,其中有:

# forward request and error logs to docker log collector
 && ln -sf /dev/stdout /var/log/nginx/access.log \

 && ln -sf /dev/stderr /var/log/nginx/error.log

可見nginx鏡像創建時候就定義好了日志文件的輸出。

同樣使用docker stop 524清理現場,以后就不再介紹清理這一步驟了。

mysql容器日志

啟動一個mysql容器

docker run --rm -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

不難看到mysql容器日志輸出, 截取其中片段如下:

Initializing database
2019-03-24T08:48:19.102726Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-03-24T08:48:20.241459Z 0 [Warning] InnoDB: New log files created, LSN=45790
2019-03-24T08:48:20.414933Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2019-03-24T08:48:20.509897Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 935a6ee7-4e11-11e9-b135-0242ac110002.
2019-03-24T08:48:20.519148Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2019-03-24T08:48:20.519843Z 1 [Warning] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option.
2019-03-24T08:48:24.066683Z 1 [Warning] 'user' entry 'root@localhost' ignored in --skip-name-resolve mode.
2019-03-24T08:48:24.066730Z 1 [Warning] 'user' entry 'mysql.session@localhost' ignored in --skip-name-resolve mode.
2019-03-24T08:48:24.066740Z 1 [Warning] 'user' entry 'mysql.sys@localhost' ignored in --skip-name-resolve mode.
2019-03-24T08:48:24.066756Z 1 [Warning] 'db' entry 'performance_schema mysql.session@localhost' ignored in --skip-name-resolve mode.
2019-03-24T08:48:24.066761Z 1 [Warning] 'db' entry 'sys mysql.sys@localhost' ignored in --skip-name-resolve mode.
2019-03-24T08:48:24.066772Z 1 [Warning] 'proxies_priv' entry '@ root@localhost' ignored in --skip-name-resolve mode.
2019-03-24T08:48:24.066814Z 1 [Warning] 'tables_priv' entry 'user mysql.session@localhost' ignored in --skip-name-resolve mode.
2019-03-24T08:48:24.066822Z 1 [Warning] 'tables_priv' entry 'sys_config mysql.sys@localhost' ignored in --skip-name-resolve mode.
Database initialized
Initializing certificates
Generating a RSA private key

查看mysql Dockerfile  文件,可以知道mysql鏡像啟動入口在entrypoint.sh,從腳本中發現:

echo 'Initializing database'
"$@" --initialize-insecure
echo 'Database initialized'

這樣就是mysql容器啟動時候的輸出對應起來了。entrypoint.sh比較復雜,主要功能就是啟動mysqld,并將日志輸出,因為不是本文重點,就不詳細介紹了。

總結

  1. docker容器默認輸出到本地json文件,并且可以對其進行大小和數量控制。
  2. 應用容器日志可以先生成日志文件,然后將應用日志文件軟連接到標準輸出,比如nginx;也可以在啟動時候直接將日志打印到標準輸出,比如mysql。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

標簽:江門 內江 玉樹 泰安 瀘州 廈門 江西 湖北

巨人網絡通訊聲明:本文標題《Docker 容器日志分析》,本文關鍵詞  Docker,容器,日志,分析,Docker,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Docker 容器日志分析》相關的同類信息!
  • 本頁收集關于Docker 容器日志分析的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    在线亚洲+欧美+日本专区| 亚洲欧洲韩国日本视频| 国产一二精品视频| 91福利社在线观看| 欧美一区二区三区日韩视频| 日韩亚洲欧美中文三级| 亚洲三级久久久| 国产麻豆精品theporn| 亚洲乱码精品一二三四区日韩在线| 中文字幕在线一区免费| 在线亚洲一区观看| 国产精品一区二区在线播放| 91美女蜜桃在线| 精品国产乱码久久久久久图片| 亚洲美女偷拍久久| 不卡一区二区三区四区| 欧美一区二区三区视频免费| 日韩毛片在线免费观看| 在线观看一区二区视频| 国产精品女主播av| 国产一区二区三区免费看| 欧美日韩另类一区| 亚洲成av人片一区二区梦乃| 欧美日韩五月天| 美女在线观看视频一区二区| 欧美日韩精品一区二区天天拍小说| 亚洲精品国产视频| 欧美日韩一区二区三区不卡| 肉肉av福利一精品导航| 欧美一区二区三级| 亚洲欧美另类小说| 欧美人牲a欧美精品| 九色综合狠狠综合久久| 亚洲视频一区在线| 日韩一区二区三区电影| aa级大片欧美| 久久精品视频在线看| 九九九精品视频| 亚洲美腿欧美偷拍| 欧美亚一区二区| 美腿丝袜亚洲三区| 国产精品久久一卡二卡| 欧美一区二区黄| 国产乱码精品1区2区3区| 亚洲视频每日更新| 精品视频在线免费看| 成人午夜电影网站| 亚洲国产日韩在线一区模特| 欧美一区2区视频在线观看| 91免费视频观看| 久久精品国产亚洲a| 亚洲美女屁股眼交3| 中文字幕+乱码+中文字幕一区| 欧美在线不卡视频| 岛国一区二区三区| 一区二区三区免费网站| 中文字幕精品一区二区精品绿巨人 | 中文字幕日韩精品一区| 国产精品午夜免费| 自拍偷拍亚洲综合| 欧美高清视频www夜色资源网| 成人午夜在线播放| 国内精品免费在线观看| 日韩黄色免费网站| 日韩有码一区二区三区| 午夜在线成人av| 天天色图综合网| 久久国产综合精品| 99国产欧美久久久精品| 日韩精品一区二区三区视频在线观看| 欧美日韩视频在线一区二区| 欧美日韩国产成人在线免费| 777欧美精品| 国产精品国产精品国产专区不片| 亚洲综合色在线| 婷婷夜色潮精品综合在线| 国产一区二区毛片| 成人免费高清在线观看| 欧美在线制服丝袜| 久久久三级国产网站| 午夜精品一区二区三区电影天堂| 奇米影视一区二区三区| 一区二区在线观看视频| 国产成a人亚洲| 国产成人综合精品三级| 777久久久精品| 美腿丝袜亚洲三区| 69堂国产成人免费视频| 亚洲妇熟xx妇色黄| 欧美日韩一区二区三区不卡 | 国产激情精品久久久第一区二区| 蜜桃精品视频在线| 欧美夫妻性生活| 精品一区二区在线播放| 久久人人爽人人爽| a级高清视频欧美日韩| 日韩欧美的一区| 成人毛片在线观看| 亚洲一区二区在线免费看| 欧美日韩国产在线观看| 婷婷综合另类小说色区| 日韩三级免费观看| 国产麻豆精品theporn| 久久婷婷成人综合色| 日本视频在线一区| 久久久久青草大香线综合精品| 日韩av成人高清| 精品播放一区二区| 国产99久久久国产精品免费看| 国产精品热久久久久夜色精品三区| 91香蕉视频污| 麻豆91在线观看| 亚洲v日本v欧美v久久精品| 国产精品入口麻豆九色| 欧美一级日韩一级| 91极品美女在线| 国产在线精品一区在线观看麻豆| 国产精品伦一区二区三级视频| 欧美裸体一区二区三区| 欧美三级电影一区| 91免费视频网| 久久99热这里只有精品| 欧美一级理论片| 3atv一区二区三区| 欧美sm极限捆绑bd| 久久精品夜色噜噜亚洲aⅴ| 国产视频一区在线播放| 欧美一卡二卡三卡四卡| 日韩欧美精品在线| 精品毛片乱码1区2区3区| 亚洲精品一线二线三线无人区| 日韩免费看的电影| 国产精品久久久久久久久免费丝袜| 7777精品伊人久久久大香线蕉经典版下载| 99久久精品免费看国产| av不卡一区二区三区| 美女精品一区二区| 国产麻豆91精品| 国产精品996| 91视视频在线观看入口直接观看www | 日韩欧美在线网站| 国产日韩欧美高清在线| 欧美电影免费观看高清完整版| 欧美人妖巨大在线| 欧美日韩亚洲综合一区| 精品99一区二区三区| 久久久九九九九| 亚洲影视资源网| 亚洲电影视频在线| 欧美三级欧美一级| 欧美成人一区二区| 欧美精品一区二区高清在线观看| 欧美va亚洲va香蕉在线| 国产欧美日本一区二区三区| 亚洲婷婷综合久久一本伊一区| 亚洲午夜一区二区三区| 精品一区二区三区在线视频| 国产精品资源站在线| 91麻豆精品在线观看| 26uuu久久天堂性欧美| 日韩精品成人一区二区三区 | 国产精品欧美极品| 蜜臀精品久久久久久蜜臀| 欧美午夜精品久久久久久孕妇| 久久久亚洲精品石原莉奈| 亚洲自拍偷拍麻豆| 在线观看精品一区| 亚洲人亚洲人成电影网站色| 国产一区二区不卡老阿姨| 6080国产精品一区二区| 亚洲高清中文字幕| 91.xcao| 精品一区二区三区免费播放 | 色天天综合久久久久综合片| 国产精品久久一级| 97se狠狠狠综合亚洲狠狠| 亚洲卡通欧美制服中文| 欧美综合天天夜夜久久| 亚洲电影一级片| 中文字幕一区二区三区精华液| 欧美三级视频在线播放| 亚洲成人免费视| 精品久久久网站| 亚洲在线免费播放| 久久亚洲精品国产精品紫薇| 国产成人av自拍| 日本美女一区二区| 亚洲精品成人在线| 欧美www视频| 欧美亚洲国产一区二区三区va | 国产精品免费久久| 色国产精品一区在线观看| 亚洲成人av中文| 一区二区三区在线免费观看| 久久亚区不卡日本| 欧美精品123区| 久久久久久久免费视频了| 91精彩视频在线观看| 高清av一区二区| 国内外成人在线|