1. 程式人生 > 其它 >Docker系列學習(四)——容器日誌、容器元資料、容器中程序檢視,進入正在執行的容器,拷貝容器內部檔案

Docker系列學習(四)——容器日誌、容器元資料、容器中程序檢視,進入正在執行的容器,拷貝容器內部檔案

  前兩篇文章(Docker系列學習(二)Docker系列學習(三))主要介紹了docker的最基本的容器和映象的命令,完成了上面章節的學習就對docker有了一個最最基本的瞭解,下面這一章節將繼續介紹docker中關於容器的其他常用命令。

1、後臺啟動容器命令

docker run -d ubuntu:1.0
8fa340a12b6cc48335c24d7881ce1e2a4ee2d5b41c05280373e79fe340ff9a33

  通過對run命令新增引數-d可以後臺啟動容器。

  不過要注意由於這個ubuntu:1.0沒有前臺程序,因此docker會以為沒有程式,docker會直接結束了,因此我們使用docker ps看不到這個容器,不過我們使用docker ps -a就能看到已經被停止的容器。

2、檢視容器日誌命令

docker logs [可選引數] 容器ID
常用引數
-f 跟蹤日誌輸出
-t 顯示時間戳
--tail n 顯示日誌尾部n條資料

  我這裡顯示一下某個容器的日誌資訊:

  這裡顯示在這個容器中操作了兩次退出

3、檢視容器內部的程序資訊

docker top [容器id]

  通過這個命令就可以檢視到正在執行中的容器中所有的程序。

  我這裡啟動了一個ubuntu的容器,並檢視他的程序

4、檢視容器的元資料

docker inspect [OPTIONS] 容器id

  接下來我們就以啟動的ubuntu容器作為示例,看一下會顯示出那些資訊。

  可以看到內容有很多,這些是以json格式來輸出的,我們可以用json線上格式化工具就很好看了

  比如容器的全稱ID,建立時間(Created),當前容器狀態(State),由那個映象建立的(Image),其中Config這個引數開啟,裡面包含的是這個ubuntu系統內部引數設定(比如環境變數等等)。

5、進入正在執行的容器

方式一:

docker exec -it 容器id /bin/bash

  上述程式碼是進入指定正在執行的容器的程式碼。

  例如,我們進入到之前開啟的那個容器中去。

方式二:

docker attach 容器id

  這樣也是可以進入容器中的,不過要注意這兩種方式進入有些許不同。

  第一種方式進入容器會在容器系統的內部開設另一個新的終端,第二種方式是進入到容器當前正在執行的終端。

6、拷貝容器內部的檔案到外部(主機)

docker cp 容器id:容器中檔案的路徑  拷貝到主機中的路徑

  我在剛才開啟的ubuntu系統的根目錄下建立了一個test.txt,我可以使用下面的命令將這個檔案拷貝到主機的桌面上。(注意這個命令需要在主機的命令列中執行,而不是在容器中執行)

docker cp d3d2c02d1358:/test.txt /home/g4/桌面
以上內容如有錯誤,懇請指正