溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

docker logs如何查看docker容器日志

發(fā)布時(shí)間:2021-03-19 14:10:53 來(lái)源:億速云 閱讀:1043 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)docker logs如何查看docker容器日志,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

通過(guò)docker logs命令可以查看容器的日志。

命令格式:

$ docker logs [OPTIONS] CONTAINER
 Options:
    --details    顯示更多的信息
  -f, --follow     跟蹤實(shí)時(shí)日志
    --since string  顯示自某個(gè)timestamp之后的日志,或相對(duì)時(shí)間,如42m(即42分鐘)
    --tail string  從日志末尾顯示多少行日志, 默認(rèn)是all
  -t, --timestamps   顯示時(shí)間戳
    --until string  顯示自某個(gè)timestamp之前的日志,或相對(duì)時(shí)間,如42m(即42分鐘)

例子:

查看指定時(shí)間后的日志,只顯示最后100行:

$ docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID

查看最近30分鐘的日志:

$ docker logs --since 30m CONTAINER_ID

查看某時(shí)間之后的日志:

$ docker logs -t --since="2018-02-08T13:23:37" CONTAINER_ID

查看某時(shí)間段日志:

$ docker logs -t --since="2018-02-08T13:23:37" --until "2018-02-09T12:23:37" CONTAINER_ID

補(bǔ)充:Docker容器的調(diào)試技巧:docker logs 與 docker service logs

調(diào)試容器

不少剛接觸Docker的同學(xué),通常面對(duì)docker容器起不來(lái),或者一直在重復(fù)啟動(dòng)中不知措施。

docker提供了一系列簡(jiǎn)單命令,很容易調(diào)試容器運(yùn)行中的問(wèn)題。

原理很簡(jiǎn)單,就是可以直接輸出容器運(yùn)行時(shí)(或過(guò)去式的)的日志。

通常有4種方式:

docker run (控制臺(tái)上啟動(dòng)容器)

docker exec (附加進(jìn)入后臺(tái)容器)

docker logs

docker service logs

下面依次介紹之

控制臺(tái)啟動(dòng)容器

打個(gè)比如調(diào)試啟動(dòng)redis容器

docker run -it -rm redis redis-server [redis 啟動(dòng)參數(shù)略...]

這樣redis-server的日志輸出直接打印到控制臺(tái)上

缺點(diǎn)是,這種方式僅供啟動(dòng)容器調(diào)試時(shí)使用,無(wú)法操作后臺(tái)運(yùn)行中的容器,或已失效的容器。

docker exec 附加進(jìn)入后臺(tái)容器

有時(shí)候需要進(jìn)入容器內(nèi),查看系統(tǒng)運(yùn)行狀況。這時(shí)候可以使用docker exec。

使用docker exec的前提是容器在運(yùn)行中。因此當(dāng)容器不能正常工作時(shí),往往無(wú)法使用該命令

docker logs

實(shí)際上docker容器不管處于什么狀態(tài),都可以使用docker logs獲取 容器的所有日志。

docker logs [容器名]

docker logs還有局限性,即無(wú)法獲取docker swarm模式下,啟動(dòng)失敗的容器日志

docker service logs

針對(duì)docker swarm模式,獲取容器日志的命令。

一般,依次執(zhí)行下列命令,得到某服務(wù)的容器名

docker service ls
docker service ps [服務(wù)名]

然后就可以通過(guò)容器名,獲取其日志了

docker service logs [容器名]

docker service logs顯示日志為空

要讓 docker service logs 正常工作,需要設(shè)置docker一些配置

vi /etc/docker/daemon.json

給該文件添加:

{
  "log-driver": "json-file",
  "log-opts": {
    "labels": "production_status,geo",
    "env": "os,customer"
  }
}

然后重啟docker

service docker restart

關(guān)于“docker logs如何查看docker容器日志”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI