一、運行容器 1、基於鏡像新建一個容器並啟動 指明瞭 -d 運行鏡像,會返回容器的 id;如果不指明 -d 運行鏡像,會列印出 catalina.out 的 日誌,在 [crtl +c] 後,容器即停止運行。 當利用 docker run 來創建容器時,Docker 在後臺運行的標準操作包括: -- ...
一、運行容器
1、基於鏡像新建一個容器並啟動
docker run -it --rm -d -p 8888:8080 tomcat:8.0 -i:互動式操作 -t:終端 -rm:容器退出後隨之將其刪除,可以避免浪費空間 -p :埠映射 -d :容器在後臺運行
指明瞭 -d 運行鏡像,會返回容器的 id;如果不指明 -d 運行鏡像,會列印出 catalina.out 的 日誌,在 [crtl +c] 後,容器即停止運行。
當利用 docker run 來創建容器時,Docker 在後臺運行的標準操作包括:
-- 檢查本地是否存在指定的鏡像,不存在就從公有倉庫下載
-- 利用鏡像創建並啟動一個容器
-- 分配一個文件系統,併在只讀的鏡像層外面掛載一層可讀寫層
-- 從宿主主機配置的網橋介面中橋接一個虛擬介面到容器中去
-- 從地址池配置一個 ip 地址給容器
-- 執行用戶指定的應用程式
-- 執行完畢後容器被終止檢查本地是否存在指定的鏡像,不存在就從公有倉庫下載
-- 利用鏡像創建並啟動一個容器
-- 分配一個文件系統,併在只讀的鏡像層外面掛載一層可讀寫層
-- 從宿主主機配置的網橋介面中橋接一個虛擬介面到容器中去
-- 從地址池配置一個 ip 地址給容器
-- 執行用戶指定的應用程式
-- 執行完畢後容器被終止
2、啟動一個終止狀態(stopped)的容器
docker container start [CONTAINER ID]
二、操作容器
1、查看容器列表
#列出運行中的容器 docker ps docker container ls #列出所有容器(包含終止狀態) docker ps -a docker container ls -a
2、查看容器日誌
docker logs [OPTIONS] [container ID or NAMES] --details 顯示更多的信息 -f, --follow 跟蹤實時日誌 --since string 顯示自某個timestamp之後(2018-07-23 00:00:00)的日誌,或相對時間,如42m(即42分鐘) --tail string 從日誌末尾顯示多少行日誌, 預設是all -t, --timestamps 顯示時間戳 --until string 顯示自某個timestamp之前的日誌,或相對時間,如42m(即42分鐘)
3、進入容器
docker exec -it [CONTAINER ID] bash
進入容器後輸入 exit 或者 [crtl + c] 即可退出容器。
三、終止容器
1、直接刪除容器
#刪除終止狀態的容器 docker rm [CONTAINER ID] #刪除所有處於終止狀態的容器 docker container prune #刪除運行中的容器 docker rm -f [CONTAINER ID]
2、終止容器進程,容器進入終止狀態(stopped)
docker container stop [CONTAINER ID]
四、容器的導出和導入
1、容器的導出
#這樣將導出容器快照到本地文件
docker export [CONTAINER ID] > [tar file]
2、容器的導入
#從容器快照文件中再導入為鏡像
cat [tar file] | docker import - [name:tag]
docker import 來導入一個容器快照到本地鏡像庫時,將丟棄所有的歷史記錄和元數據信息(即僅保存容器當時的快照狀態),既然這樣,那麼 docker export 是不是可以考慮作為入侵時的現場保護呢?
參考資料:《Docker — 從入門到實踐》