1. 程式人生 > >2. docker 容器的管理(創建、查看、啟動、終止、刪除)

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

開啟 標準輸入 int 重新 sleep blog 唯一標識 運行 kill

一、創建

docker create:創建容器,處於停止狀態。 

技術分享圖片

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

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

如下圖已經在前臺開啟一個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、C1、C2三個容器,使用-c/–cpu-shares=512啟動了C3容器。這時,C0、C1、C2可以100%的使用CPU資源(1024),但C3只能使用50%的CPU資源(512)。如果這個主機的操作系統是時序調度類型的,每個CPU時間片是100微秒,那麽C0、C1、C2將完全使用掉這100微秒,而C3只能使用50微秒。
  • -c後的命令是循環,從而保持容器的運行。
  • docker ps:可以查看正在運行的docker容器。

二、查看

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

docker ps -a:查看所有容器,包括停止的。

技術分享圖片

  • 標題含義:

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

docker ps -l :查看最新創建的容器,只列出最後創建的。

docker ps -n=2:-n=x選項,會列出最後創建的x個容器。

技術分享圖片

三、啟動

通過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是可選的重啟次數。
      技術分享圖片

四、終止

docker stop [NAME]/[CONTAINER ID]:將容器退出。

docker kill [NAME]/[CONTAINER ID]:強制停止一個容器。

技術分享圖片

五、刪除

容器終止後,在需要的時候可以重新啟動,確定不需要了,可以進行刪除操作。
docker rm [NAME]/[CONTAINER ID]:不能夠刪除一個正在運行的容器,會報錯。需要先停止容器。 

技術分享圖片

    • 一次性刪除:docker本身沒有提供一次性刪除操作,但是可以使用如下命令實現:

      • docker rm ‘docker ps -a -q‘:-a標誌列出所有容器,-q標誌只列出容器的ID,然後傳遞給rm命令,依次刪除容器。

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