久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何查看Docker容器日志

159次閱讀
沒有評論

共計 3081 個字符,預計需要花費 8 分鐘才能閱讀完成。

本篇內容介紹了“如何查看 Docker 容器日志”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓丸趣 TV 小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

驗證 Docker 正常啟動

使用 docker info 命令,返回所有容器和鏡像的數量、docker 版本、使用的執行驅動和存儲驅動以及 Docker 的基本配置等。之前說過 Docker 是基于 client-server 架構,它有一個 docker 程序,既能做客戶端又能做服務器端。作為客戶端時,docker 程序向 Docker 守護進程發送請求,然后再對返回的請求結果進行處理。

運行第一個容器

可使用 docker run 命令創建容器。它提供了容器的創建到啟動功能。運行

docker run -i -t ubuntu /bin/bash

參數 -i 保證容器中 STDIN 是開啟的;

參數 - t 告訴 Docker 為要創建的容器分配一個偽 tty 終端。這樣新建的容器才能提供一個交互式 shell;

接下來告訴 Docker 基于什么鏡像來創建容器,上例使用的是 ubuntu 鏡像,它是一個基礎鏡像,由 Docker 公司提供,保存在 Docker Hub Registry 上。

最后告訴 Docker 在新容器中要運行什么命令,本例中在容器中運行 /bin/bash 命令啟動了一個 Bash shell。

運行命令后 Docker 會檢查本地是否存在 ubuntu 鏡像,如果沒有就會連接 Docker Hub Registry 查看是否有該鏡像,一旦找到就會下載并保存到本地宿主機中。

隨后 Docker 在文件系統內部用這個鏡像創建了一個新容器。它擁有自己的 IP 地址,以及一個用來和宿主機進行通信的橋接網絡接口。

當容器創建完畢之后,Docker 會執行容器中的 /bin/bash 命令,這時就可以看到容器內的 shell 了。

使用第一個容器

通過啟動我們以 root 用戶登錄到了新容器紅。這是一個完整的 ubuntu 系統。

輸入 exit 就可以從容器返回到宿主機的命令行了。同時容器也停止運行。但是容器仍然是存在的??梢允褂?docker ps -a 命令查看當前系統中的容器列表。

docker ps 命令只顯示正在運行的容器,添加 - a 參數列出所有容器。-l 參數列出最后一次運行的容器,包括正在運行和已經停止的。

可以看出有三種方式可唯一指代一個容器:長 UUID、短 UUID 和名稱。

容器命名

之前創建容器時 Docker 自動生成了一個隨機名稱。如果創建容器時想指定名稱可以使用 –name 參數。

docker run --name ivan_container -i -t ubuntu /bin/bash

一個合法的容器名稱只能包含以下字符:小寫字母、大寫字母、數字、下劃線、圓點、橫線。

容器的命名是唯一的

docker rm 容器名 可以刪除容器。

重新啟動已停止的容器

docker start  容器名
docker start  容器 ID

附著在容器上

Docker 容器重新啟動時,會沿用 docker run 命令時指定的參數來運行,因此容器重新啟動后會運行一個交互式會話 shell。

可以用“docker attach 容器名 / 容器 ID“命令重新附著到該容器的會話上。運行完命令后需要按下回車進入該會話。

創建守護式容器

除了上面創建的交互式運行的容器,也可以創建長期運行的守護式容器。它沒有交互式會話,非常適合運行應用程序和服務。大多數時候都需要以守護式來運行容器。

docker run --name daemon_dave -d ubuntu /bin/sh -c  while true; do echo hello world; sleep 1 done

在 docker run 上使用參數 -d,容器會被放到后臺運行。

查看容器日志

docker logs  容器名 

-f 參數監控容器實時日志

docker logs -f  容器名 

用 Ctrl + C 退出日志監控。

–tail 行數 獲取最后幾行日志

docker logs --tail 10  容器名 

使用

docker logs --tail 0 -f  容器名 

監控某個容器的最新日志而不必讀取整個日志文件。

使用 -t 參數為每條日志項加上時間戳。

docker logs -ft  容器名 

查看容器內的進程

docker top  容器名 

在容器內部運行進程

在 Docker 1.3 之后,可以通過 docker exec 命令在容器被額外啟動新進程??梢栽谌萜鲀冗\行的進程有兩種類型:后臺任務和交互式任務。

后臺任務的例子:

docker exec -d  容器名  touch /etc/new_config_file

-d 表示需要運行一個后臺進程。之后是指定運行的容器和執行的命令。本例中新建了一個空文件。

交互任務的例子:

docker exec -t -i  容器名  /bin/bash

停止守護式容器

docker stop  容器名 

docker stop 命令會向 Docker 容器進程發送 SIGTERM 信號。如果想快速停止某個容器,可以使用 docker kill 命令向容器進程發送 SIGKILL 信號。

docker ps -n x 命令會顯示最后 x 個容器,不論容器正在運行還是已經停止。

自動重啟容器

創建容器時可以通過 –restart 參數讓 Docker 自動重新啟動該容器。–restart 標志會檢查容器的退出代碼,并據此來決定是否要重啟容器。

docker run --restrart=always --name daemon_dave -d ubuntu /bin/sh -c  while true; do echo hello world; sleep 1; done

–restart 標志被設置為 always,無論容器的退出代碼是什么,Docker 都會自動重啟該容器。除了 always,還可以設置為 on-failure,這樣只有當容器的退出代碼為非 0 值得時候,才會自動重啟。另外 on-failure 還接收一個可選的重啟次數參數:

--restart=on-failure:5

這樣當容器退出代碼非 0 時,Docker 會嘗試自動重啟該容器,最后重啟 5 次。

–restart 是 1.2.0 版本引入的。

詳細的容器信息

docker inspect  容器名 

查看容器的詳細信息。使用 -f –format 來選定要查看的內容:

docker inspect --format= {{.State.Running}}   容器名 

查看容器的運行狀態。

docker inspect --format  {{.NetworkSettings.IPAddress}}   容器 1  / 容器 2 

查看容器的 IP 地址,可以同時制定多個容器,如上例所示。

–format - f 支持完整的 Go 語言模板。

還可以瀏覽 /var/lib/docker 目錄來深入了解 Docker 的工作原理。該目錄存放著 Docker 鏡像、容器以及容器的配置。所有的容器都保存在 /var/lib/docker/containers 目錄下。

刪除容器

使用 docker rm 刪除容器。

運行中的 docker 容器是無法刪除的。必須先通過 docker stop 或 docker kill 命令停止容器,才能將其刪除。

目前沒有辦法一次刪除所有容器,不過可以通過小技巧來刪除:

docker rm  docker ps -a -q

-a 表示列出所有容器,- q 表示只需要返回容器的 ID 不返回其他信息。

“如何查看 Docker 容器日志”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注丸趣 TV 網站,丸趣 TV 小編將為大家輸出更多高質量的實用文章!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計3081字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 法库县| 新郑市| 洛川县| 凌源市| 游戏| 安阳县| 芦溪县| 鹤山市| 达拉特旗| 灵石县| 吴川市| 绿春县| 乌拉特后旗| 敖汉旗| 阿尔山市| 麻城市| 社旗县| 儋州市| 会理县| 会东县| 大安市| 六安市| 永济市| 仙居县| 尉犁县| 辉县市| 房产| 东方市| 泊头市| 天门市| 锦州市| 凤凰县| 鄯善县| 岳阳县| 大姚县| 玉田县| 长春市| 卫辉市| 商河县| 靖江市| 理塘县|