docker常用命令詳解

2021-01-11 騰訊網

本文只記錄docker命令在大部分情境下的使用。

總的來說分為以下幾種:

Docker環境信息 — docker [info|version]

容器生命周期管理 — docker [create|exec|run|start|stop|restart|kill|rm|pause|unpause]

容器操作運維 — docker [ps|inspect|top|attach|wait|export|port|rename|stat]

容器rootfs命令 — docker [commit|cp|diff]

鏡像倉庫 — docker [login|pull|push|search]

本地鏡像管理 — docker [build|images|rmi|tag|save|import|load]

容器資源管理 — docker [volume|network]

系統日誌信息 — docker [events|history|logs]

一、常用命令

1、顯示 Docker 版本信息

docker version

2、顯示 Docker 系統信息,包括鏡像和容器數

docker info

3、幫助

docker --help

二、鏡像管理

1、列出鏡像

docker images

2、獲取一個新的鏡像

docker pull nginx:1.18.0

3、查找鏡像

我們可以從 Docker Hub 網站來搜索鏡像,Docker Hub 網址為: https://hub.docker.com/

我們也可以使用 docker search 命令來搜索鏡像。比如我們需要一個 httpd 的鏡像來作為我們的 web 服務。我們可以通過 docker search 命令搜索 httpd 來尋找適合我們的鏡像。

docker search httpd

4、刪除鏡像

docker image rm 鏡像名標籤或者ID

5、鏡像導入與導出

方法一:

docker save image:tag > xxx.tar # save導出.tardocker load

docker export image > xxx.tar # export導出成.tarcat xxx.tar | sudo docker import - image:tag # import導入鏡像

註:兩種方法不可混用

三、容器生命周期

1、運行容器

docker run -it nginx:latest sh# -d: 後臺運行容器 -i:以交互模式運行容器 -t:為容器重新分配一個偽輸入終端 -it常一起使用# -p: 指定埠映射,格式為:主機(宿主)埠:容器埠 --name="nginx-lb":為容器指定一個名稱# -v: 掛載目錄 -e username="ritchie":設置環境變量 -env-file=[]:從指定文件讀入環境變量

2、啟動被停止的容器

docker start 容器名或ID

3、停止運行中的容器

docker stop 容器名或ID

4、重啟容器

docker restart 容器名或ID

5、殺掉運行中的容器

docker kill -s KILL 容器名或者ID

6、刪除容器

docker rm 容器名或ID

7、暫停容器中所有進程

暫停資料庫容器db01提供服務: docker pause db01

8、啟動容器中所有進程

恢復資料庫容器db01提供服務: docker unpause db01

9、運行的容器中執行命令

docker exec -it 容器名或ID sh# -d:分離模式,在後臺運行 -i:即使沒有附加也保持打開 -t:分配一個偽終端

10、刪除所有停止狀態的容器

docker rm `docker ps -a|grep Exited|awk ''`

四、容器操作

1、列出容器

docker ps # 參數 -a:顯示所有的容器 -f:根據條件過濾顯示 -l:顯示最近創建的容器

# 參數 -q:靜默模式,只顯示容器編號 -s:顯示總的文件大小。

2、獲取容器/鏡像的元數據

docker inspect 容器名或ID | grep IPAddress 顯示容器的IP

3、獲取容器的日誌

docker logs # 參數: -f:跟蹤日誌輸出 --since:顯示某個開始時間的所有日誌 -t:顯示時間戳 --tail:僅列出最新N條容器日誌

4、查看容器的埠映射情況

docker port 容器名或ID

五、rootfs命令

1、容器中創建一個新的鏡像

docker commit -a "作者" -m "說明文字" 容器名或ID 鏡像名:標籤

2、容器與主機之間數據拷貝

docker cp /datadir xxx:/datapath # 主機/datadir目錄拷貝到容器xxx中,目錄重命名為/datapath

3、檢查容器中文件結構的更改

docker diff mymysql # 查看容器mymysql的文件結構更改

六、鏡像倉庫

1、登陸到Docker鏡像倉庫

docker login -u 用戶名 -p 密碼 # 登陸到Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認為官方倉庫Docker Hub

2、登出Docker鏡像倉庫

docker logout # 登出Docker鏡像倉庫,如果未指定鏡像倉庫地址,默認為官方倉庫 Docker Hub

3、從鏡像倉庫拉取鏡像

docker pull java:latest # 拉去鏡像庫最新的java鏡像

4、將鏡像上傳到鏡像倉庫

docker push java:latest # 上傳本地鏡像java:latest到鏡像倉庫中

5、從Docker Hub查找鏡像

docker search

參數: --automated:只列出 automated build類型的鏡像

--no-trunc :顯示完整的鏡像描述

-s :列出收藏數不小於指定值的鏡像。

相關焦點

  • 看完此文,媽媽還會擔心你docker入不了門?
    docker中的倉庫與maven的倉庫是一個概念,可以遠程下載常用的鏡像,也可以push包到遠程倉庫(如圖中的redis、nginx等鏡像),同一個鏡像又可以有多個版本,在docker中稱為tag!關於容器卷的命令我們後面會有操作實例!命令操作  上面說了那麼多,下面就到了咱們的實操環節啦!這一節的內容會通過一些常用的命令讓大家更進一步的了解docker,注意!!這裡只是一些常用的命令來加深理解,而不是命令大全!
  • Dockerfile官方文檔詳細介紹
    A Dockerfile是一個文本文檔,其中包含用戶可以在命令行上調用以組裝圖像的所有命令。使用docker build 用戶可以創建自動構建,該構建連續執行多個命令行指令。本頁描述您可以在中使用的命令Dockerfile。閱讀完此頁面後,請參考Dockerfile最佳實踐以獲取有關技巧的指南。
  • 製作docker鏡像centos專題及常見問題 - CSDN
    製作自己的Docker鏡像環境,裡面包括:(1)centos(2)golang1、docker pull centos(pull最新的centos系統)2、docker run -it centos /bin/bash(運行進入容器)3、在centos環境中創建
  • docker 關閉所有容器專題及常見問題 - CSDN
    最早的時候 docker 就是一個開源項目,主要由 docker 公司維護.2017年年初,docker 公司將原先的 docker 項目改名為 moby,並創建了 docker-ce 和 docker-ee.docker-ce 是社區版本,適用於剛剛開始 docker 和開發基於 docker 研發的應用開發者或者小型團隊.docker-ee 是企業版,適用於企業級開發,同樣也適用於開發、分發和運行商務級別的應用的 IT 團隊.docker-io, docker-engin
  • Apple M1 晶片不支持 Docker?Docker:正在努力適配
    此外還要實現所有的管道來提供 Docker Desktop 的核心體驗,以便像現在一樣在終端上運行docker run命令。除了針對 Apple M1 晶片進行適配,Docker Desktop 對上遊也存在技術依賴,需要在新版本 GA 之前進行修改。為了保證版本質量,Docker 團隊要使用合適的工具以支持可重複、可靠的測試,需要完成包括為 M1 晶片設置 CI 的工作。
  • Linux Cat命令實際應用詳解 - 51CTO.COM
    Linux Cat命令實際應用詳解 Linux Cat命令用來讀取短文件非常方便,如果一個文件非常大的時候,用頁命令是比較方便的。,如果一個文件非常大的時候,用頁命令是比較方便的。
  • 《命令與徵服:紅色警戒》獾轟炸機背景介紹及詳解
    《命令與徵服:紅色警戒》中作戰的飛機不少,獾轟炸機就是其中一個,很多玩家對這個沒什麼印象,但隨著重製版的上線,這款經典的老遊戲又被拉到公眾面前來討論了,為了幫助玩家回溫此遊戲,本文特意整理了獾轟炸機的背景以及詳解。
  • 應該掌握的幾個常用網絡測試命令
    我們在弱電施工維護過程中常會遇到一些網絡故障,遇到網絡故障我們通常都是用網絡命令來測試並解決,今天我們一起來看看幾個常用的網絡測試命令。一、Ping命令ping是個使用頻率極高的實用程序,主要用於確定網絡的連通性。這對確定網絡是否正確連接,以及網絡連接的狀況十分有用。
  • 我的世界物品代碼及命令大全使用方法[多圖]
    玩家可以通過各種命令實現遊戲的一些不常用功能,雖然有些命令有作弊嫌疑,但是單機遊戲的時候用來實現不一樣的玩法還是不錯的。注意輸入命令的 格式:按回車「/give (玩家名字) (代碼) (數量) (小代碼)」,符號必須是半角狀態下的。
  • 網絡監控時代,常用的9個網絡命令
    下面給出最常用的選項:  當使用不帶任何參數選項ipconfig命令時,顯示每個已經配置了的接口的IP位址、子網掩碼和預設網關值。  使用arp命令,能夠查看本地計算機或另一臺計算機的ARP高速緩存中的當前內容。此外,使用arp命令可以人工方式設置靜態的網卡物理地址/IP位址對,使用這種方式可以為預設網關和本地伺服器等常用主機進行本地靜態配置,這有助於減少網絡上的信息量。
  • Ruby一行式命令總結和常用技巧
    Ruby一行式常用函數、選項、全局變量這部分內容可作為參考內容,有需求時再來翻閱。ruby一行式常用函數在Kernel模塊中有一些函數在Ruby one-liner中非常實用。F中-Cdir執行ruby命令之前,先進入指定目錄-e 'cmd'一行式表達式,可同時指定多個-e-Fpattern設置$;,split()將根據$;分割$_為欄位並保存到$F數組中-i[ext]直接修改ARGV的各個文件,給定ext時則先備份源文件-l讀取行時自動去除尾部換行符,輸出行時自動加上換行符-n自動讀取ARGV的每一行,相當於while gets(); ... end-p相當於-n,但總是自動輸出
  • 技術文章:網絡/命令行抓包工具tcpdump詳解
    二、tcpdump參數常用參數選項說明:參數含義-a將網絡地址和廣播地址轉變成名字-c在收到指定的包的數目後,tcpdump就會停止;-d將匹配信息包的代碼以人們能夠理解的彙編格式給出;以可閱讀的格式輸出。
  • 詳解十三款運維監控工具
    有效的運行監測體系,最終離不開相關技術平臺的支撐,而我們需要了解監測技術平臺詳解十三款運維監控工具一、開源工具介紹ZabbixNagiosGangliaGrafanaZenossOpen-falconCacti天兔開源監控(只適用於mysql、redis、oracle)二、商用運維監控系統篇若有補充請email: cyh@abcdocker.com or右擊掃碼加群
  • 網絡命令圖文教程,arp route nbtstat nslookup,dos命令講解
    今天我們主要講這四個arp route nbtstat nslookup命令,這幾個網絡的命令在這幾年用的不是太多了,接下來我挨個講解一下。我們先看一下第一個 arp 這個命令,上方的圖片就是他的命令行參數,它的用法也很簡單,平時用的比較多的就是一個查看,和綁定網卡物理地址和ip,在前幾年有個arp病毒,arp欺騙攻擊,在那個時候,這個命令用的還是稍微比較多的,區域網裡邊經常會遇見這個攻擊,現在這幾年這個病毒攻擊已經很少,加上網絡軟安全軟體的基本都有防護,所以這個命令現在用的也不是太多了。
  • Linux瀏覽文件命令:cat、less、more詳解!
    今天我們來詳細講解下,Linux瀏覽文件的三種命令,它們分別是:cat、less、more!cat命令: 一次性在終端中顯示文件的所有內容cat Facebook營運長桑德伯格《Lean\ In》.txtcat命令顯示出多少行呢?
  • 關機命令應用實例
    電腦開關機的應用是比較常用的,除了用開關或者在開始菜單中選擇關機外,我們也可以用命令行或者腳本的方式進行關機。還可以設置定時關機操作。接下來就來了解一下具體的操作吧!用命令行實現關機首先,在開始運行中輸入CMD按回車或者窗口鍵+R鍵調用命令行窗口。
  • 《方舟:生存進化》大魷魚訓練方法詳解
    常用補丁 漢化補丁 低配最終優化補丁 二十三項修改器 最新升級檔 聯機補丁 提高幀數MOD 熱門攻略 全生物圖鑑一覽 全物品列表一覽 全控制臺命令一覽