docker(3)容器管理命令

接着上一篇,今天說一下Docker 有關容器的經常使用命令。算是比較詳細了吧。nginx

docker run  命令:

注:此命令做用是使用一個鏡像運行啓動一個容器。 在啓動運行的時候 會檢查docker 中是否包含了該鏡像 若是沒有包含 ,docker 會自動的在 docker 的倉庫中下載你想使用的鏡像。也就是說有時候我們能夠省略:Doker  pull 命令。docker

Docker run 命令經常使用的參數bootstrap

  1:--name 【鏡像名】 :centos

  --name 給啓動的容器 起一個名字,若是不使用 –name   docker的守護進程會自動給你的容器命名,這裏建議使用此參數,docker進程起的名太難記了bash

  2:-d 網絡

       若是想啓動一個在後臺運行的容器的時候執行如下命令:能夠啓動一個容器而且後臺運行 能夠建立一個守護式容器。學習

  

  能夠對比一下名字ui

  3:-t docker 會 分配一個僞終端並綁定到容器的標準輸入上,spa

  4:-i則讓容器的標準輸入保持打開,使用的時候能夠兩個結合爲3d

  5:– it 上面兩個的結合

  演示一下使用不使用 – it 做用:

  Docker run – name centos    centos /bin/bash

  Docker run – name centos -it   centos /bin/bash

  

  注:一個運行後直接閃退了,而且不會保持與運行,加上-it 後運行咱們會直接進入容器中,可是會在退出容器後中止容器。

  有關docker run 的參數就先說這幾個,在後續文會繼續增長。

 查看容器命令

  1:Docker ps    查看運行中的容器

  

  咱們能夠看到 容器的ID,名稱,運行時間 端口等信息

  2:Docker ps -a  查看全部運行中的和爲運行的

  

  3:Docker ps -l       能夠查看你最後一個運行的容器

  

容器的刪除命令

  1:Docker rm

  刪除 ID/名稱 爲某某的容器 (未運行的)

  2:Docker rm  `docker ps -a -q`

  批量刪除未運行的容器

  3:Docker rm -f                     

  強制刪除運行中的容器

  4:Docker rm -f `docker ps -a -q`

  批量強制刪除運行中的容器

      刪除就不演示了,可是後面的兩個堅定不推薦使用(就怕刪錯了謹慎爲上)

容器的啓動/中止命令:

  1:中止命令

   Docker stop

        Docker kill

  這兩個均可以中止容器

  區別:

  stop 發送一個命令等待容器中止: 有等待時間

  Kill   直接中止容器:沒等待時間

  2:啓動命令

  Docker start    ID/名稱  啓動一個未運行(已中止)的容器

  Docker start -i  ID/名稱  以交互的方式啓動容器(直接會進入容器)

  這個就不演示了,在使用-I 的時候不是每次都會成功的會卡住。這點注意了

容器的退出命令

  1:exit

  2:ctrl+d        退出和exit 效果同樣。

  3:ctrl+p ctrl+q  這種組合的退出方式只適用與交互式容器

   以上三個命令是在容器中使用的

  

正確的進入容器

  1:Docker attach  ID/名稱   注:退出後會中止容器

  能夠進入一個正在運行的容器中。須要注意的是 Docker attach  這個命令是由缺陷的,很早就有了,有時候咱們想進入一個容器中的時候 卡住了,但不是沒次都會卡主有時候會有時候不會

  好比:運行一個consul鏡像

  docker run  -d -P  --name consul   docker.io/consul agent -server -ui -bootstrap-expect=1 -data-dir=/tmp/consul -client=0.0.0.0   -datacenter=dc1

  查看結果:確保容器運行中

  進入容器結果:

  

  卡在這了不會動了,取消以後還會 中止正在運行的容器尷尬不。

  2:啓動時進入容器。 在docker run 已經使用   注:退出後會中止容器

  

  3:第三種是生產的時候推薦使用的  (退出後容器不會登出)

  咱們使用PID進入容器查看容器的PID 兩種方法

  docker inspect -f {{.State.Pid}}  nginx

  docker top nginx

       結果:

  

  進入容器:使用nsenter  個人centos 自帶此命令,沒有的能夠安裝一下。

  nsenter --target 10692  --uts --ipc --net --pid

  

   推出容器: Ctrl +d

       查看容器的運行狀態:docker ps

  

  退出後容器不會登出,這種方式生產建議使用:

 查看容器的日誌

  docker logs   id/名稱

  Logs 選項大體分爲三個:

                     -t               顯示容器的日誌信息

                     -f               顯示容器的日誌信息並帶上時間

                     --tail  數字參數    顯示容器的全部日誌信息

  好比:咱們運行一個centos 的容器 並循環輸出 hello word

  以下圖:

  

  查看日誌:docker logs contos2 或者 ocker logs -f contos2  手殘centos

  

  

  使用命令:docker logs -t contos2 或者 docker logs -ft contos2

  

       

  使用命令:docker logs  --tail 3  contos2 或者 docker logs -t  --tail 3  contos2

   

  注:以上命令只是示範可隨意組合使用:

在容器中啓動新的進程

  注:docker 理念一個容器運行一個進程,可是保不齊咱們須要對該容器 維護監控等操做。

  新建立一個容器:

  

  查看容器的進程數量

  

  新建並查看進程:

  docker exec -it -d centos4 /bin/bash
  

  這裏顯示了新的進程信息。

 下一篇記錄一下 docker 的網絡。

有不足之處 但願你們指出相互學習,

            本文原創:轉載請註明出處 謝謝!

相關文章
相關標籤/搜索