HOME 首頁
SERVICE 服務產(chǎn)品
XINMEITI 新媒體代運營
CASE 服務案例
NEWS 熱點資訊
ABOUT 關于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    docker查看日志的命令(docker-compose 查看日志)

    發(fā)布時間:2023-04-08 18:40:52     稿源: 創(chuàng)意嶺    閱讀: 82        

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關于docker查看日志的命令的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    開始之前先推薦一個非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計劃、工作報告、論文、代碼、作文、做題和對話答疑等等

    只需要輸入關鍵詞,就能返回你想要的內(nèi)容,越精準,寫出的就越詳細,有微信小程序端、在線網(wǎng)頁版、PC客戶端

    官網(wǎng):https://ai.de1919.com。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務客戶遍布全球各地,如需了解SEO相關業(yè)務請撥打電話175-8598-2043,或添加微信:1454722008

    本文目錄:

    docker查看日志的命令(docker-compose 查看日志)

    一、docker常用命令

    1、 service docker start // 啟動docker

    2、 docker images // 查看docker所安裝的鏡像

    3、 docker search [name] 查詢某個鏡像 例如查詢mysql docker search mysql

    4、 docker pull [name] 拉取某個鏡像 例如mysql docker pull mysql

    5、 docker pull [name] [:tag] tag版本號 如果不寫默認拉取最新的版本

    例如: docker pull mysql:5.7

    6、 docker rmi [imgaeId] 刪除命令,imageId是鏡像id

    2.1 新建一個新的容器 docker pull centos

    2.2 docker run [可選參數(shù)] image名字

    參數(shù)說明

    --name="Name" 給容器命名

    -d 后臺方式運行

    -p [主機端口]:[容器端口] 指定容器的端口 例如啟動tomcat 命令: docker run -p 8081:8080 tomcat 解釋:8081是對外訪問(服務器)的端口。8080是docker里面的tomcat端口. tomcat是鏡像拉取下來后的名字. 例:若別人訪問。IP+8081端口才能訪問到tomcat啟動的項目

    -P 大寫P是隨機指定端口

    -it 與容器交互,就是進入到容器里面

    命令: docker run -it [鏡像名稱] /bin/bash 例子: docker run -it centos /bin/bash

    docker ps 查看運行中的容器

    docker ps -q 只查詢運行容器的編號,一般與下面-a合并使用, docker ps -aq

    docker ps -a 查看曾經(jīng)運行過的容器

    docker ps -a -n=1 加上-n可以指定查詢最近幾個運行的容器、

    Ctrl+p+q 這樣退出就不會停止容器

    docker rm -f [容器id] 指定刪除某個運行的容器

    docker rm -f $(docker ps -aq) 刪除全部運行的容器

    docker start [容器id] 啟動容器

    docker restart [容器id] 重啟容器

    docker stop [容器id] 停止容器

    docker kill [容器id] 強制停止容器

    docker run -d [鏡像名] 例如: docker run -d centos

    但是有問題, docker ps 查詢不到運行的容器

    原因:docker容器用后臺運行,就必須要有一個前臺進程,docker發(fā)現(xiàn)沒有應用,所以就自動停止

    docker logs -tf --tail 10 [容器id]

    t的意思是時間戳,f保留日志打印窗口,tail持續(xù)打印,10打印最后10條

    docker top [容器id]

    docker inspect [容器id]

    方式一: docker exec -it [containt_id] /bin/bash // 進入該鏡像內(nèi)部

    docker cp [容器id]:[容器路徑] [主機路徑]

    二、Docker實踐之鏡像啟動及常用命令

    前面簡單的介紹了如何在Linux中安裝 Docker ,這節(jié)內(nèi)容,我們學習Docker鏡像啟動

    我們Docker啟動鏡像從哪里來呢?鏡像由我們自己或者他人構建,構建好的鏡像可以直接放在本地或者上傳到遠程鏡像倉庫。當我們運行一個Docker鏡像時,會先在本地查找是否存在所要運行的鏡像,如果沒有則會去遠程鏡像倉庫拉取,默認為官方的鏡像倉庫,當然,我們也可以改為自己的私有鏡像倉庫。接下來,我們先了解幾個簡單的命令。

    我們直接在安裝好Docker的主機上執(zhí)行 docker run nginx

    我們從運行日志可以看到這樣的字眼:

    docker發(fā)現(xiàn)本地不存在nginx的鏡像文件,便直接去倉庫中查找下載并運行,因為我們沒有讓鏡像后臺運行,所以這次運行起來的容器會隨著這次遠程連接斷開而停止。當我按下 ctrl+c 時,容器便會停止

    如果要讓容器后臺運行,則需要在啟動時加 -d 這個參數(shù),

    我們來看一下當前運行中的容器

    可以看到,我們的nginx是啟動起來了,但是,我們并不能訪問它。容器有自己的一套虛擬系統(tǒng),如:網(wǎng)絡、文件。如果我們需要訪問,則需要給容器和宿主機做一個映射,讓宿主機和容器能夠交互。這里,我們就給nginx增加端口和配置文件映射。我為了省事,就直接把容器中的配置文件復制出來用

    接下來,我們便來建立這個映射關系

    來看看容器是否啟動成功

    這時候,我們便能訪問我們的nginx服務,

    前面已經(jīng)說到,容器有自己的虛擬系統(tǒng),如果需要持久化的數(shù)據(jù)不映射到宿主機上,那么當容器銷毀時,數(shù)據(jù)也會隨之丟失,所以,我們在用容器運行時,一定要做好數(shù)據(jù)的保存方式。

    在前面,我們列出了幾個常用的Docker命令,這里,我們把這幾個常用命令稍微講解一下,

    ps主要是查詢正常運行的容器

    docker ps 是當前正在運行的容器

    這里面的 CONTAINER ID 很重要,后面我們的很多操作都需要基于這個 CONTAINER ID 或者 NAMES 。

    docker ps -a 則是列出運行中和停止中的所有容器,

    這幾個參數(shù)這是啟動/停止/重啟/刪除容器的參數(shù),如: docker restart 5ae0319e1795 ,如果要刪除容器,必須要先停止,否則會提示

    docker run [OPTIONS] IMAGE [COMMAND] [ARG…],它的運行參數(shù)就比較復雜了,

    這里還是只介紹幾個常用的命令參數(shù)吧,

    運行示例 docker run -d --name nginx-cc -v /root/nginx/:/etc/nginx/ -p 9999:80 -m 256M nginx

    cp命令主要是用于宿主機和容器間的文件復制,一般格式如下:

    docker cp [OPTIONS] 容器名/容器Id:容器文件路徑 宿主機文件路徑 從容器復制到宿主機

    docker cp [OPTIONS] 宿主機文件路徑 容器名/容器Id:容器文件路徑 從宿主機復制到容器中

    inspect主要是查看容器或者鏡像元數(shù)據(jù),如:

    從返回的信息中,我們可以得到,啟動時所設置的啟動參數(shù)。如:

    如果,那天我們忘記之前容器啟動的參數(shù)時,便可以通過 inspect 來幫我們找回來。

    logs主要是查詢docker容器的運行日志,如:

    三、Docker命令-docker run

    原文

    docker進程運行與獨立的容器中,而容器是宿主機的一個進程。宿主機可以使本地的也可以是遠程的。每當執(zhí)行 docker run 之后,容器進程式獨立運行的,他有自己的文件系統(tǒng)、網(wǎng)絡以及與主機隔離的進程🌲。

    這里將介紹如何使用 docker run 運行容器以及容器資源。

    一個 docker run 命令使用如下:

    docker run 命令必須指定一個容器鏡像,鏡像開發(fā)者可以定義鏡像的一些默認值:

    開發(fā)者可以通過 docker run [options] 添加或者修改鏡像的默認設置。此外,開發(fā)者幾乎可以完全覆蓋掉容器運行時的默認設置。正因為 docker run 能修改鏡像和容器的默認設置,所以他的 [options] 可選項要比其他任何docker命令都要多。

    要知道更多的 [options] ,移步: options type

    最好只是懂得 docker run 命令的人去使用這些選項!

    當你運行Docker容器的時候你需要決定是要在后臺運行還是默認前臺運行,當你選擇后臺運行時會在命令執(zhí)行后打印出最新運行的容器ID。

    想要讓你的容器以后臺方式運行只需要在使用參數(shù) -d=true 或者 -d 即可。docker設計的默認情況下,如果你的容器以后臺方式運行,只有在父進程即docker進程退出的時候才會去把容器退出,除非你使用了 --rm 選項。如果你在運行容器時將 -d 和 --rm 兩個選項一起使用,那么容器會在退出或者后臺進程停止的的時候自動移除掉(只要一個情況便會自動移除鏡像)。

    dokcer容器后臺運行是不能通過 service x start 來啟動的,比如想啟動一個后臺運行的 nginx 服務:

    這樣雖然啟動了容器內(nèi)的 nginx 服務,但是是不可用的,因為這種方式違背了后臺運行容器的使用規(guī)范。nginx服務雖然啟動了,但是他的所屬容器服務已經(jīng)停了,導致nginx服務是不可用的。如果想啟動一個nginx服務請使用如下命令:

    當容器后臺運行之后便不回響應命令行的的相關操作,可以通過網(wǎng)絡連接或者文件掛載方式查看容器運行的輸入輸出日志??梢酝ㄟ^ docker attach 來操作。

    在不指定 -d 的情況下,容器默認是前臺運行的,可以看到容器運行時候的輸入輸出以及錯誤信息日志。容器甚至還可以模擬終端輸入輸出(TTY),配置項如下:

    如果你沒有指定 -a 參數(shù),docker默認會指定 stdout 和 stderr ,你也可以任意指定你想要的終端顯示信息,例如:

    為了開啟容器終端,你必須指定參數(shù) -i -t 。通常情況下 -i -t 會一起使用 -it ,注意如果容器需要從一個pipe接收輸入?yún)?shù)時是不能使用 -t 的,例如:

    定義一個容器ID有三種方式:

    UUID是由docker的后臺進程創(chuàng)建的。如果你沒有指定容器名稱,那么docker會默認生成一個隨機字符串名字。如果你指定了容器的名字,不管是選擇前臺運行還是后臺運行甚至docker網(wǎng)絡配置的時候,你都可以在通過名字 name 來引用該容器。

    為了方便管理,你可以選擇讓docker將容器ID寫入到一個文件中。這個功能類似于一些程序會將進程PID寫入到文件中,例如:

    雖然給一個容器指定ID不是嚴格的要求規(guī)范,但是你可以在啟動容器的時候指定容器的標簽 iamge:tag ,例如:

    使用V2或之后的鏡像格式制作的鏡像文件具有摘要內(nèi)存尋址功能。只要生成鏡像的參數(shù)和方式?jīng)]有改變,那么這個鏡像的摘要是可預測和可引用的。

    例如下面這個運行一個從 alpine 拉取的鏡像:

    鏡像摘要: sha256:9cacb71397b640eca97488cf08582ae4e4068513101088e9f96c9814bfda95e0

    ...

    果然 docker run 是參數(shù)最多的命令,篇幅太多了,先翻譯到這里,大致使用已經(jīng)涵蓋了,先去翻譯接下來的命令了。

    更多信息請參考 原文

    更多參數(shù)說明:

    四、Java docker日志放哪了

    Docker的日志分兩類,一類是 Docker引擎的日志;另一類是容器日志。容器的日志 則可以通過 docker logs 命令來訪問,而且可以像 tail -f 一樣,使用 docker logs -f 來實時查看。如果使用 Docker Compose,則可以通過 docker-compose logs <服務名> 來查看。

    以上就是關于docker查看日志的命令相關問題的回答。希望能幫到你,如有更多相關問題,您也可以聯(lián)系我們的客服進行咨詢,客服也會為您講解更多精彩的知識和內(nèi)容。


    推薦閱讀:

    adobe全家桶(adobe全家桶下載)

    免費windows7云主機下載(免費windows10云主機)

    Dou訂單為何刪除不了(抖音訂單為什么刪除不了)

    如何電商代運營(如何電商代運營賺錢)

    杭州體育中考實心球評分標準(杭州市體育中考實心球標準)