這篇文章主要講解了“Docker入門常用的命令行有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Docker入門常用的命令行有哪些”吧!
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),龍陵企業(yè)網(wǎng)站建設(shè),龍陵品牌網(wǎng)站建設(shè),網(wǎng)站定制,龍陵網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,龍陵網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
前 言
Docker鏡像是由Dockerfile和一些必要的依賴項(xiàng)組成的,Docker容器是動(dòng)態(tài)的Docker鏡像。要使用Docker命令,首先需要知道您是在處理鏡像還是容器。一旦你知道你所處理的是鏡像還是容器之后,你才可以找到正確的命令。
命令的共性
你需要知道一些關(guān)于Docker命令的規(guī)律:
Docker CLI管理命令以docker開頭,然后是空格,接著是管理類別,然后是空格最后是命令。例如,docker container stop這一命令可以停止容器。
引用特定容器或鏡像的命令需要該容器或鏡像的名稱或ID。
舉個(gè)例子,docker container run my_app 是用于構(gòu)建和運(yùn)行名為my_app的容器的命令。在本文示例中,我將使用名稱my_container來引用通用容器。同理,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)程鏡像倉庫中
ls — 列出鏡像
history — 查看中間鏡像信息
inspect — 查看關(guān)于鏡像的信息,包括層
rm — 刪除鏡像
容器&鏡像
docker version — 列出關(guān)于Docker客戶端以及服務(wù)器版本的信息
docker login — 登錄到Docker鏡像倉庫
docker system prune — 刪除所有未使用的容器、網(wǎng)絡(luò)以及無名稱的鏡像(虛懸鏡像)
容器命令詳解
啟動(dòng)容器
術(shù)語“創(chuàng)建”,“開始”和“運(yùn)行”在日常生活中都具有相似的語義,但每個(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。
你可以通過傳遞許多標(biāo)志來create。
docker container create -a STDIN my_image
-a是—attach的縮寫,指將容器連接到STDIN,STDOUT或STDERR。
既然我們已經(jīng)創(chuàng)建了一個(gè)容器,那么讓我們來啟動(dòng)它。
docker container start my_container — 啟動(dòng)一個(gè)已有的容器
請(qǐng)注意,容器可以通過容器的ID或容器的名稱來引用。
docker container start my_container
既然你知道如何創(chuàng)建和啟動(dòng)一個(gè)容器,讓我們來看看最常見的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打開;-t是—tty的縮寫,它會(huì)分配一個(gè)偽終端,將終端與容器的STDIN和STDOUT連接起來。
你需要指定-i和-t 通過終端shell與容器交互。
-p是 –port的縮寫。端口是與外部世界的接口。1000:8000將Docker端口8000映射到計(jì)算機(jī)上的端口1000。如果你有一個(gè)app輸出了一些內(nèi)容到瀏覽器,你可以將瀏覽器導(dǎo)航到localhost:1000并且查看它。
--rm自動(dòng)刪除停止運(yùn)行的容器。
讓我們?cè)賮砜纯磖un的幾個(gè)例子。
docker container run -it my_image my_command
sh是你可在運(yùn)行時(shí)指定的命令,它將在容器內(nèi)部啟動(dòng)shell會(huì)話,你可以通過終端與其交互。對(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)程。
如果你覺得10秒太長的話,可以使用以下命令:
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)鍵命令。接下來,我們來看看關(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)簽來標(biāo)記鏡像,在本例中,是my_tag。
在命令末尾的句號(hào)(.)是告訴Docker根據(jù)當(dāng)前工作目錄中的Dockerfile構(gòu)建鏡像。
當(dāng)你構(gòu)建好鏡像之后,你想要推送它到遠(yuǎn)程倉庫中以便它可以共享并且在有需要的時(shí)候被拉取。那么下一個(gè)命令十分有用,盡管并非是鏡像命令。
docker login — 登錄到Docker鏡像倉庫,根據(jù)提示鍵入你的用戶名和密碼
docker image push my_repo/my_image:my_tag — 推送一個(gè)鏡像到倉庫。
你擁有了這些鏡像之后,你可能想要檢查他們。
檢查鏡像
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 — 刪除指定鏡像。如果鏡像被保存在鏡像倉庫中,那么該鏡像在那依舊可用。
docker image rm $(docker images -a -q) — 刪除所有鏡像。必須小心使用這一命令。請(qǐng)注意已經(jīng)被推送到遠(yuǎn)程倉庫的鏡像依然能夠保存,這是鏡像倉庫的一個(gè)優(yōu)勢(shì)。
感謝各位的閱讀,以上就是“Docker入門常用的命令行有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Docker入門常用的命令行有哪些這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!