2. docker 容器的管理(建立、查看、啓動、終止、刪除)

1、建立

docker create:建立容器,處於中止狀態。 

這裏寫圖片描述

    • centos:latest:centos容器:最新版本(也能夠指定具體的版本號)。
    • 本地有就使用本地鏡像,沒有則從遠程鏡像庫拉取。
    • 建立成功後會返回一個容器的ID。
docker run:建立並啓動容器。

交互型容器:運行在前臺,容器中使用exit命令或者調用docker stop、docker kill命令,容器中止。

以下圖已經在前臺開啓一個docker容器:
這裏寫圖片描述docker

  • i:打開容器的標準輸入。
  • t:告訴docker爲容器創建一個命令行終端。
  • name:指定容器名稱,能夠不填(隨機),建議根據具體使用功能命名,便於管理。
  • centos:告訴咱們使用什麼鏡像來啓動容器。
  • /bin/bash:告訴docker要在容器裏面執行此命令。

後臺型容器:運行在後臺,建立後與終端無關,只有調用docker stop、docker kill命令才能使容器中止。

這裏寫圖片描述

  • d:使用-d參數,使容器在後臺運行。
  • c: 經過-c能夠調整容器的CPU優先級。默認狀況下,全部的容器擁有相同的CPU優先級和CPU調度週期,但你能夠經過Docker來通知內核給予某個或某幾個容器更多的CPU計算週期。好比,咱們使用-c或者–cpu-shares =0啓動了C0、C一、C2三個容器,使用-c/–cpu-shares=512啓動了C3容器。這時,C0、C一、C2能夠100%的使用CPU資源(1024),但C3只能使用50%的CPU資源(512)。若是這個主機的操做系統是時序調度類型的,每一個CPU時間片是100微秒,那麼C0、C一、C2將徹底使用掉這100微秒,而C3只能使用50微秒。
  • -c後的命令是循環,從而保持容器的運行。
  • docker ps:能夠查看正在運行的docker容器。

2、查看

 

docker ps: 查看當前運行的容器

 

docker ps -a:查看全部容器,包括中止的。

這裏寫圖片描述

  • 標題含義:centos

    • CONTAINER ID:容器的惟一表示ID。
    • IMAGE:建立容器時使用的鏡像。
    • COMMAND:容器最後運行的命令。
    • CREATED:建立容器的時間。
    • STATUS:容器狀態。
    • PORTS:對外開放的端口。
    • NAMES:容器名。能夠和容器ID同樣惟一標識容器,同一臺宿主機上不容許有同名容器存在,不然會衝突。

 

docker ps -l :查看最新建立的容器,只列出最後建立的。 docker ps -n=2:-n=x選項,會列出最後建立的x個容器。

這裏寫圖片描述

3、啓動

經過docker start來啓動以前已經中止的docker_run鏡像。
容器名:docker start docker_run,或者ID:docker start 43e3fef2266c

或者:systemctl start docker
  • –restart(自動重啓):默認狀況下容器是不重啓的,–restart標誌會檢查容器的退出碼來決定容器是否重啓容器。
    • docker run --restart=always --name docker_restart -d centos /bin/sh -c "while true;do echo hello world; sleep;done":
    • --restart=always:無論容器的返回碼是什麼,都會重啓容器。
    • --restart=on-failure:5:當容器的返回值是非0時纔會重啓容器。5是可選的重啓次數。
      這裏寫圖片描述

4、終止

docker stop [NAME]/[CONTAINER ID]:將容器退出。 docker kill [NAME]/[CONTAINER ID]:強制中止一個容器。

這裏寫圖片描述

5、刪除

容器終止後,在須要的時候能夠從新啓動,肯定不須要了,能夠進行刪除操做。
docker rm [NAME]/[CONTAINER ID]:不可以刪除一個正在運行的容器,會報錯。須要先中止容器。 

這裏寫圖片描述

    • 一次性刪除:docker自己沒有提供一次性刪除操做,可是可使用以下命令實現:bash

      • docker rm 'docker ps -a -q':-a標誌列出全部容器,-q標誌只列出容器的ID,而後傳遞給rm命令,依次刪除容器。
相關文章
相關標籤/搜索