-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
docker查看日志的命令(docker-compose 查看日志)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于docker查看日志的命令的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com。
創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,如需了解SEO相關(guān)業(yè)務(wù)請撥打電話175-8598-2043,或添加微信:1454722008
本文目錄:
一、docker常用命令
1、 service docker start // 啟動(dòng)docker
2、 docker images // 查看docker所安裝的鏡像
3、 docker search [name] 查詢某個(gè)鏡像 例如查詢mysql docker search mysql
4、 docker pull [name] 拉取某個(gè)鏡像 例如mysql docker pull mysql
5、 docker pull [name] [:tag] tag版本號(hào) 如果不寫默認(rèn)拉取最新的版本
例如: docker pull mysql:5.7
6、 docker rmi [imgaeId] 刪除命令,imageId是鏡像id
2.1 新建一個(gè)新的容器 docker pull centos
2.2 docker run [可選參數(shù)] image名字
參數(shù)說明
--name="Name" 給容器命名
-d 后臺(tái)方式運(yùn)行
-p [主機(jī)端口]:[容器端口] 指定容器的端口 例如啟動(dòng)tomcat 命令: docker run -p 8081:8080 tomcat 解釋:8081是對外訪問(服務(wù)器)的端口。8080是docker里面的tomcat端口. tomcat是鏡像拉取下來后的名字. 例:若別人訪問。IP+8081端口才能訪問到tomcat啟動(dòng)的項(xiàng)目
-P 大寫P是隨機(jī)指定端口
-it 與容器交互,就是進(jìn)入到容器里面
命令: docker run -it [鏡像名稱] /bin/bash 例子: docker run -it centos /bin/bash
docker ps 查看運(yùn)行中的容器
docker ps -q 只查詢運(yùn)行容器的編號(hào),一般與下面-a合并使用, docker ps -aq
docker ps -a 查看曾經(jīng)運(yùn)行過的容器
docker ps -a -n=1 加上-n可以指定查詢最近幾個(gè)運(yùn)行的容器、
Ctrl+p+q 這樣退出就不會(huì)停止容器
docker rm -f [容器id] 指定刪除某個(gè)運(yùn)行的容器
docker rm -f $(docker ps -aq) 刪除全部運(yùn)行的容器
docker start [容器id] 啟動(dòng)容器
docker restart [容器id] 重啟容器
docker stop [容器id] 停止容器
docker kill [容器id] 強(qiáng)制停止容器
docker run -d [鏡像名] 例如: docker run -d centos
但是有問題, docker ps 查詢不到運(yùn)行的容器
原因:docker容器用后臺(tái)運(yùn)行,就必須要有一個(gè)前臺(tái)進(jìn)程,docker發(fā)現(xiàn)沒有應(yīng)用,所以就自動(dòng)停止
docker logs -tf --tail 10 [容器id]
t的意思是時(shí)間戳,f保留日志打印窗口,tail持續(xù)打印,10打印最后10條
docker top [容器id]
docker inspect [容器id]
方式一: docker exec -it [containt_id] /bin/bash // 進(jìn)入該鏡像內(nèi)部
docker cp [容器id]:[容器路徑] [主機(jī)路徑]
二、Docker實(shí)踐之鏡像啟動(dòng)及常用命令
前面簡單的介紹了如何在Linux中安裝 Docker ,這節(jié)內(nèi)容,我們學(xué)習(xí)Docker鏡像啟動(dòng)
我們Docker啟動(dòng)鏡像從哪里來呢?鏡像由我們自己或者他人構(gòu)建,構(gòu)建好的鏡像可以直接放在本地或者上傳到遠(yuǎn)程鏡像倉庫。當(dāng)我們運(yùn)行一個(gè)Docker鏡像時(shí),會(huì)先在本地查找是否存在所要運(yùn)行的鏡像,如果沒有則會(huì)去遠(yuǎn)程鏡像倉庫拉取,默認(rèn)為官方的鏡像倉庫,當(dāng)然,我們也可以改為自己的私有鏡像倉庫。接下來,我們先了解幾個(gè)簡單的命令。
我們直接在安裝好Docker的主機(jī)上執(zhí)行 docker run nginx
我們從運(yùn)行日志可以看到這樣的字眼:
docker發(fā)現(xiàn)本地不存在nginx的鏡像文件,便直接去倉庫中查找下載并運(yùn)行,因?yàn)槲覀儧]有讓鏡像后臺(tái)運(yùn)行,所以這次運(yùn)行起來的容器會(huì)隨著這次遠(yuǎn)程連接斷開而停止。當(dāng)我按下 ctrl+c 時(shí),容器便會(huì)停止
如果要讓容器后臺(tái)運(yùn)行,則需要在啟動(dòng)時(shí)加 -d 這個(gè)參數(shù),
我們來看一下當(dāng)前運(yùn)行中的容器
可以看到,我們的nginx是啟動(dòng)起來了,但是,我們并不能訪問它。容器有自己的一套虛擬系統(tǒng),如:網(wǎng)絡(luò)、文件。如果我們需要訪問,則需要給容器和宿主機(jī)做一個(gè)映射,讓宿主機(jī)和容器能夠交互。這里,我們就給nginx增加端口和配置文件映射。我為了省事,就直接把容器中的配置文件復(fù)制出來用
接下來,我們便來建立這個(gè)映射關(guān)系
來看看容器是否啟動(dòng)成功
這時(shí)候,我們便能訪問我們的nginx服務(wù),
前面已經(jīng)說到,容器有自己的虛擬系統(tǒng),如果需要持久化的數(shù)據(jù)不映射到宿主機(jī)上,那么當(dāng)容器銷毀時(shí),數(shù)據(jù)也會(huì)隨之丟失,所以,我們在用容器運(yùn)行時(shí),一定要做好數(shù)據(jù)的保存方式。
在前面,我們列出了幾個(gè)常用的Docker命令,這里,我們把這幾個(gè)常用命令稍微講解一下,
ps主要是查詢正常運(yùn)行的容器
docker ps 是當(dāng)前正在運(yùn)行的容器
這里面的 CONTAINER ID 很重要,后面我們的很多操作都需要基于這個(gè) CONTAINER ID 或者 NAMES 。
docker ps -a 則是列出運(yùn)行中和停止中的所有容器,
這幾個(gè)參數(shù)這是啟動(dòng)/停止/重啟/刪除容器的參數(shù),如: docker restart 5ae0319e1795 ,如果要?jiǎng)h除容器,必須要先停止,否則會(huì)提示
docker run [OPTIONS] IMAGE [COMMAND] [ARG…],它的運(yùn)行參數(shù)就比較復(fù)雜了,
這里還是只介紹幾個(gè)常用的命令參數(shù)吧,
運(yùn)行示例 docker run -d --name nginx-cc -v /root/nginx/:/etc/nginx/ -p 9999:80 -m 256M nginx
cp命令主要是用于宿主機(jī)和容器間的文件復(fù)制,一般格式如下:
docker cp [OPTIONS] 容器名/容器Id:容器文件路徑 宿主機(jī)文件路徑 從容器復(fù)制到宿主機(jī)
docker cp [OPTIONS] 宿主機(jī)文件路徑 容器名/容器Id:容器文件路徑 從宿主機(jī)復(fù)制到容器中
inspect主要是查看容器或者鏡像元數(shù)據(jù),如:
從返回的信息中,我們可以得到,啟動(dòng)時(shí)所設(shè)置的啟動(dòng)參數(shù)。如:
如果,那天我們忘記之前容器啟動(dòng)的參數(shù)時(shí),便可以通過 inspect 來幫我們找回來。
logs主要是查詢docker容器的運(yùn)行日志,如:
三、Docker命令-docker run
原文
docker進(jìn)程運(yùn)行與獨(dú)立的容器中,而容器是宿主機(jī)的一個(gè)進(jìn)程。宿主機(jī)可以使本地的也可以是遠(yuǎn)程的。每當(dāng)執(zhí)行 docker run 之后,容器進(jìn)程式獨(dú)立運(yùn)行的,他有自己的文件系統(tǒng)、網(wǎng)絡(luò)以及與主機(jī)隔離的進(jìn)程🌲。
這里將介紹如何使用 docker run 運(yùn)行容器以及容器資源。
一個(gè) docker run 命令使用如下:
docker run 命令必須指定一個(gè)容器鏡像,鏡像開發(fā)者可以定義鏡像的一些默認(rèn)值:
開發(fā)者可以通過 docker run [options] 添加或者修改鏡像的默認(rèn)設(shè)置。此外,開發(fā)者幾乎可以完全覆蓋掉容器運(yùn)行時(shí)的默認(rèn)設(shè)置。正因?yàn)?docker run 能修改鏡像和容器的默認(rèn)設(shè)置,所以他的 [options] 可選項(xiàng)要比其他任何docker命令都要多。
要知道更多的 [options] ,移步: options type
最好只是懂得 docker run 命令的人去使用這些選項(xiàng)!
當(dāng)你運(yùn)行Docker容器的時(shí)候你需要決定是要在后臺(tái)運(yùn)行還是默認(rèn)前臺(tái)運(yùn)行,當(dāng)你選擇后臺(tái)運(yùn)行時(shí)會(huì)在命令執(zhí)行后打印出最新運(yùn)行的容器ID。
想要讓你的容器以后臺(tái)方式運(yùn)行只需要在使用參數(shù) -d=true 或者 -d 即可。docker設(shè)計(jì)的默認(rèn)情況下,如果你的容器以后臺(tái)方式運(yùn)行,只有在父進(jìn)程即docker進(jìn)程退出的時(shí)候才會(huì)去把容器退出,除非你使用了 --rm 選項(xiàng)。如果你在運(yùn)行容器時(shí)將 -d 和 --rm 兩個(gè)選項(xiàng)一起使用,那么容器會(huì)在退出或者后臺(tái)進(jìn)程停止的的時(shí)候自動(dòng)移除掉(只要一個(gè)情況便會(huì)自動(dòng)移除鏡像)。
dokcer容器后臺(tái)運(yùn)行是不能通過 service x start 來啟動(dòng)的,比如想啟動(dòng)一個(gè)后臺(tái)運(yùn)行的 nginx 服務(wù):
這樣雖然啟動(dòng)了容器內(nèi)的 nginx 服務(wù),但是是不可用的,因?yàn)檫@種方式違背了后臺(tái)運(yùn)行容器的使用規(guī)范。nginx服務(wù)雖然啟動(dòng)了,但是他的所屬容器服務(wù)已經(jīng)停了,導(dǎo)致nginx服務(wù)是不可用的。如果想啟動(dòng)一個(gè)nginx服務(wù)請使用如下命令:
當(dāng)容器后臺(tái)運(yùn)行之后便不回響應(yīng)命令行的的相關(guān)操作,可以通過網(wǎng)絡(luò)連接或者文件掛載方式查看容器運(yùn)行的輸入輸出日志??梢酝ㄟ^ docker attach 來操作。
在不指定 -d 的情況下,容器默認(rèn)是前臺(tái)運(yùn)行的,可以看到容器運(yùn)行時(shí)候的輸入輸出以及錯(cuò)誤信息日志。容器甚至還可以模擬終端輸入輸出(TTY),配置項(xiàng)如下:
如果你沒有指定 -a 參數(shù),docker默認(rèn)會(huì)指定 stdout 和 stderr ,你也可以任意指定你想要的終端顯示信息,例如:
為了開啟容器終端,你必須指定參數(shù) -i -t 。通常情況下 -i -t 會(huì)一起使用 -it ,注意如果容器需要從一個(gè)pipe接收輸入?yún)?shù)時(shí)是不能使用 -t 的,例如:
定義一個(gè)容器ID有三種方式:
UUID是由docker的后臺(tái)進(jìn)程創(chuàng)建的。如果你沒有指定容器名稱,那么docker會(huì)默認(rèn)生成一個(gè)隨機(jī)字符串名字。如果你指定了容器的名字,不管是選擇前臺(tái)運(yùn)行還是后臺(tái)運(yùn)行甚至docker網(wǎng)絡(luò)配置的時(shí)候,你都可以在通過名字 name 來引用該容器。
為了方便管理,你可以選擇讓docker將容器ID寫入到一個(gè)文件中。這個(gè)功能類似于一些程序會(huì)將進(jìn)程PID寫入到文件中,例如:
雖然給一個(gè)容器指定ID不是嚴(yán)格的要求規(guī)范,但是你可以在啟動(dòng)容器的時(shí)候指定容器的標(biāo)簽 iamge:tag ,例如:
使用V2或之后的鏡像格式制作的鏡像文件具有摘要內(nèi)存尋址功能。只要生成鏡像的參數(shù)和方式?jīng)]有改變,那么這個(gè)鏡像的摘要是可預(yù)測和可引用的。
例如下面這個(gè)運(yùn)行一個(gè)從 alpine 拉取的鏡像:
鏡像摘要: sha256:9cacb71397b640eca97488cf08582ae4e4068513101088e9f96c9814bfda95e0
...
果然 docker run 是參數(shù)最多的命令,篇幅太多了,先翻譯到這里,大致使用已經(jīng)涵蓋了,先去翻譯接下來的命令了。
更多信息請參考 原文
更多參數(shù)說明:
四、Java docker日志放哪了
Docker的日志分兩類,一類是 Docker引擎的日志;另一類是容器日志。容器的日志 則可以通過 docker logs 命令來訪問,而且可以像 tail -f 一樣,使用 docker logs -f 來實(shí)時(shí)查看。如果使用 Docker Compose,則可以通過 docker-compose logs <服務(wù)名> 來查看。
以上就是關(guān)于docker查看日志的命令相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
免費(fèi)windows7云主機(jī)下載(免費(fèi)windows10云主機(jī))
杭州體育中考實(shí)心球評(píng)分標(biāo)準(zhǔn)(杭州市體育中考實(shí)心球標(biāo)準(zhǔn))
猜你喜歡
大家都搜什么關(guān)鍵詞(你們都搜什么關(guān)鍵詞)
如何加快瀏覽器播放速度(如何加快瀏覽器播放速度設(shè)置)
網(wǎng)站推廣的基本方法有哪些(網(wǎng)站推廣的主要方法有哪些-)
15歲孩子得了風(fēng)濕可以根治嗎(得了風(fēng)濕一般幾年會(huì)死)
網(wǎng)絡(luò)發(fā)廣告屬于什么行業(yè)(網(wǎng)絡(luò)發(fā)廣告屬于什么行業(yè)類型)
中國科學(xué)院大學(xué)排第幾(中國科學(xué)院大學(xué)排第幾大學(xué)排名)
國內(nèi)影響力最大的指數(shù)是什么(國內(nèi)影響力最大最重要的指數(shù)是哪一個(gè))
電腦有網(wǎng)但是部分軟件沒有網(wǎng)絡(luò)(電腦有網(wǎng)但是部分軟件沒有網(wǎng)絡(luò)怎么辦)