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


一、創建

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命令,依次刪除容器。


免責聲明!

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



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