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]
docker start $(docker ps -aq) --備注:啟動所有 docker 容器

二、操作容器

    1、查看容器列表

#列出運行中的容器
docker ps
docker container ls
#列出所有容器(包含終止狀態)
docker ps -a
docker container ls -a
#查看具體容器的信息
docker inspect
[container ID or NAMES]

  #查看容器的使用資源狀況
  docker stats [container ID or NAMES]

    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 volume prune
#刪除運行中的容器 docker rm -f [CONTAINER ID]

#批量停止所有的容器
docker stop $(docker ps -a -q)
#批量刪除所有的容器
docker rm $(docker ps -a -q)

    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 — 從入門到實踐》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM