主頁(yè) > 知識(shí)庫(kù) > Docker命令行入門大全(這18條,你不得不知)

Docker命令行入門大全(這18條,你不得不知)

熱門標(biāo)簽:濮陽(yáng)好的聯(lián)通400電話申請(qǐng) 承德地圖標(biāo)注公司 地圖標(biāo)注黃河的位置 百度地圖標(biāo)注公司位置要多少錢 靈圖uu電子寵物店地圖標(biāo)注 地圖標(biāo)注如何改成微信號(hào) 山東企業(yè)外呼系統(tǒng)公司 虛假地圖標(biāo)注 400電話號(hào)碼辦理多少錢

前 言

Docker鏡像是由Dockerfile和一些必要的依賴項(xiàng)組成的,Docker容器是動(dòng)態(tài)的Docker鏡像。要使用Docker命令,首先需要知道您是在處理鏡像還是容器。一旦你知道你所處理的是鏡像還是容器之后,你才可以找到正確的命令。

命令的共性

你需要知道一些關(guān)于Docker命令的規(guī)律:

  • Docker CLI管理命令以docker開(kāi)頭,然后是空格,接著是管理類別,然后是空格最后是命令。例如,docker container stop這一命令可以停止容器。
  • 引用特定容器或鏡像的命令需要該容器或鏡像的名稱或ID。

舉個(gè)例子,docker container run my_app 是用于構(gòu)建和運(yùn)行名為my_app的容器的命令。在本文示例中,我將使用名稱my_container來(lái)引用通用容器。同理,my_image、my_tag也是如此。

我將單獨(dú)提供命令和通用標(biāo)志。前面有兩個(gè)破折號(hào)的標(biāo)志是標(biāo)志的全名。帶有一個(gè)破折號(hào)的標(biāo)志是完整標(biāo)志名稱的縮寫。例如,-p是--port標(biāo)志的縮寫。

本文的目標(biāo)是讓您牢牢記住這些命令和標(biāo)記,并希望您可以在創(chuàng)建容器或構(gòu)建鏡像的時(shí)候可以將本指南作為參考。本指南適用于Linux和Docker Engine版本18.09.1以及API版本1.39。

我們先了解容器命令然后再看鏡像命令。

容器命令

使用 docker container my_command

  • create — 從鏡像中創(chuàng)建一個(gè)容器
  • start — 啟動(dòng)一個(gè)已有的容器
  • run — 創(chuàng)建一個(gè)新的容器并且啟動(dòng)它
  • ls — 列出正在運(yùn)行的容器
  • inspect — 查看關(guān)于容器的信息
  • logs — 打印日志
  • stop — 優(yōu)雅停止正在運(yùn)行的容器
  • kill — 立即停止容器中的主要進(jìn)程
  • rm — 刪除已經(jīng)停止的容器

鏡像命令

使用 docker image my_command

  • build — 構(gòu)建一個(gè)鏡像
  • push — 將鏡像推送到遠(yuǎn)程鏡像倉(cāng)庫(kù)中
  • ls — 列出鏡像
  • history — 查看中間鏡像信息
  • inspect — 查看關(guān)于鏡像的信息,包括層
  • rm — 刪除鏡像

容器&鏡像

  • docker version — 列出關(guān)于Docker客戶端以及服務(wù)器版本的信息
  • docker login — 登錄到Docker鏡像倉(cāng)庫(kù)
  • docker system prune — 刪除所有未使用的容器、網(wǎng)絡(luò)以及無(wú)名稱的鏡像(虛懸鏡像)

容器命令詳解

啟動(dòng)容器

術(shù)語(yǔ)“創(chuàng)建”,“開(kāi)始”和“運(yùn)行”在日常生活中都具有相似的語(yǔ)義,但每個(gè)都是一個(gè)獨(dú)立的Docker命令,用于創(chuàng)建并/或啟動(dòng)容器。讓我們先看看創(chuàng)建容器的命令。

docker container create my_repo/my_image:my_tag — 從一個(gè)鏡像中創(chuàng)建容器

我將在下文中把my_repo/my_image:my_tag縮寫為 my_image。

你可以通過(guò)傳遞許多標(biāo)志來(lái)create。

docker container create -a STDIN my_image

-a是—attach的縮寫,指將容器連接到STDIN,STDOUT或STDERR。

既然我們已經(jīng)創(chuàng)建了一個(gè)容器,那么讓我們來(lái)啟動(dòng)它。

docker container start my_container — 啟動(dòng)一個(gè)已有的容器

請(qǐng)注意,容器可以通過(guò)容器的ID或容器的名稱來(lái)引用。

docker container start my_container

既然你知道如何創(chuàng)建和啟動(dòng)一個(gè)容器,讓我們來(lái)看看最常見(jiàn)的Docker命令。它將create和start結(jié)合到一個(gè)命令中:run。

docker container run my_image — 創(chuàng)建一個(gè)新容器并且啟動(dòng)它。這一命令同樣也有許多選項(xiàng)。讓我們看看其中幾個(gè)。

docker container run -i -t -p 1000:8000 --rm my_image

-i是—interactive的縮寫,即使未連接,也要保持STDIN打開(kāi);-t是—tty的縮寫,它會(huì)分配一個(gè)偽終端,將終端與容器的STDIN和STDOUT連接起來(lái)。

你需要指定-i和-t 通過(guò)終端shell與容器交互。

-p是 –port的縮寫。端口是與外部世界的接口。1000:8000將Docker端口8000映射到計(jì)算機(jī)上的端口1000。如果你有一個(gè)app輸出了一些內(nèi)容到瀏覽器,你可以將瀏覽器導(dǎo)航到localhost:1000并且查看它。

--rm自動(dòng)刪除停止運(yùn)行的容器。

讓我們?cè)賮?lái)看看run的幾個(gè)例子。

docker container run -it my_image my_command

sh是你可在運(yùn)行時(shí)指定的命令,它將在容器內(nèi)部啟動(dòng)shell會(huì)話,你可以通過(guò)終端與其交互。對(duì)于Alpine鏡像,sh優(yōu)于bash,因?yàn)锳lpine鏡像不隨bash一起安裝。鍵入exit以結(jié)束交互式shell會(huì)話。

請(qǐng)注意,我們將-i和-t結(jié)合為-it。

docker container run -d my_image

-d是—detach的縮寫,指在后臺(tái)運(yùn)行容器,允許您在容器運(yùn)行時(shí)將終端用于其他命令。

檢查容器狀態(tài)

如果你有許多運(yùn)行中的Docker容器并且想要找到與哪一個(gè)互動(dòng),那么你需要列出它們。

docker container ls — 列出運(yùn)行中的容器,同時(shí)提供關(guān)于容器有用的信息。

docker container ls -a -s

-a是--all的縮寫,列出所有容器(不僅僅是正在運(yùn)行中的容器)

-s是—size的縮寫,列出每個(gè)容器的大小。

docker container inspect my_container — 查看有關(guān)容器的信息

docker container logs my_container — 列出容器日志

終止容器

有時(shí)你需要停止一個(gè)正在運(yùn)行中的容器,你需要用到以下命令:

docker container stop my_container — 優(yōu)雅地停止一個(gè)或多個(gè)正在運(yùn)行的容器。在容器關(guān)閉之前提供默認(rèn)10秒以完成任何進(jìn)程。

如果你覺(jué)得10秒太長(zhǎng)的話,可以使用以下命令:

docker container kill my_container — 立即停止一個(gè)或多個(gè)正在運(yùn)行的容器。這就像拔掉電視上的插頭一樣。但是在大多數(shù)情況下,建議使用stop命令。

docker container kill $(docker ps -q)— 終止所有運(yùn)行中的容器

你需要?jiǎng)h除容器可以使用以下命令:

docker container rm my_container — 刪除一個(gè)或多個(gè)容器

docker container rm $(docker ps -a -q) — 刪除所有不在運(yùn)行中的容器

以上就是Docker容器的關(guān)鍵命令。接下來(lái),我們來(lái)看看關(guān)于鏡像的命令。

鏡像命令詳解

以下是Docker鏡像使用的7條命令

構(gòu)建鏡像

docker image build -t my_repo/my_image:my_tag . 在指定路徑或url的Dockerfile中構(gòu)建一個(gè)名為my_image的Docker鏡像。

-t是tag的縮寫,是告訴docker用提供的標(biāo)簽來(lái)標(biāo)記鏡像,在本例中,是my_tag。

在命令末尾的句號(hào)(.)是告訴Docker根據(jù)當(dāng)前工作目錄中的Dockerfile構(gòu)建鏡像。

當(dāng)你構(gòu)建好鏡像之后,你想要推送它到遠(yuǎn)程倉(cāng)庫(kù)中以便它可以共享并且在有需要的時(shí)候被拉取。那么下一個(gè)命令十分有用,盡管并非是鏡像命令。

docker login — 登錄到Docker鏡像倉(cāng)庫(kù),根據(jù)提示鍵入你的用戶名和密碼

docker image push my_repo/my_image:my_tag — 推送一個(gè)鏡像到倉(cāng)庫(kù)。

你擁有了這些鏡像之后,你可能想要檢查他們。

檢查鏡像

docker image ls — 列出你的鏡像以及每個(gè)鏡像的大小

docker image history my_image — 顯示鏡像的中間鏡像,包括大小及其創(chuàng)建方式

docker image inspect my_image — 顯示關(guān)于鏡像的細(xì)節(jié),包括組成鏡像的層

有時(shí)候你還需要清理你的鏡像。

清理鏡像

docker image rm my_image — 刪除指定鏡像。如果鏡像被保存在鏡像倉(cāng)庫(kù)中,那么該鏡像在那依舊可用。

docker image rm $(docker images -a -q) — 刪除所有鏡像。必須小心使用這一命令。請(qǐng)注意已經(jīng)被推送到遠(yuǎn)程倉(cāng)庫(kù)的鏡像依然能夠保存,這是鏡像倉(cāng)庫(kù)的一個(gè)優(yōu)勢(shì)。

以上就是大部分與Docker鏡像相關(guān)的重要命令。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:樂(lè)山 福州 鷹潭 泰安 安康 德宏 淮安 上海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Docker命令行入門大全(這18條,你不得不知)》,本文關(guān)鍵詞  Docker,命令行,入門,大全,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Docker命令行入門大全(這18條,你不得不知)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Docker命令行入門大全(這18條,你不得不知)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章