docker run后台启动命令_Docker-第五部分:15个 Docker 命令
原文地址:https://towardsdatascience.com/15-docker-commands-you-should-know-970ea5203421
翻譯:付新圓
在這篇文章中,我們將學(xué)習(xí)15個(gè)Dockers CLI命令。如果你還不了解Docker,請(qǐng)查看這個(gè)系列的其他部分進(jìn)行學(xué)習(xí),Docker概念,生態(tài)系統(tǒng),Dockerfile,Docker映像。
Docker 命令約有十億個(gè)(給或接受十億個(gè))。Docker 文檔范圍很廣泛,但當(dāng)您剛?cè)腴T時(shí),文檔會(huì)非常龐大讓你不知所措。在這篇文章中,我將重點(diǎn)介紹運(yùn)行Docker的關(guān)鍵命令。
水果主題之前的文章我們都把文章的主題隱喻成食物,這里讓我們使用水果主題。蔬菜在關(guān)于減肥的文章中提供了營(yíng)養(yǎng)。現(xiàn)在,美味的水果將為我們提供營(yíng)養(yǎng),因?yàn)槲覀儗W(xué)習(xí)的是關(guān)鍵 Docker 命令。
概述
回想一下,Docker 映像是由 Dockerfile +任何必要的依賴項(xiàng)組成的,還要記得 Docker 容器是一個(gè) Docker 映像。若要使用 Docker 命令,首先需要知道您處理的是映像還是容器。
- Docker 映像要么存在,要么不存在;
- Docker 容器要么存在,要么不存在;
- 存在的 Docker 容器要么正在運(yùn)行,要么未運(yùn)行。
當(dāng)您知道正在處理什么,就可以找到適合該工作的命令。
共同點(diǎn)
以下是關(guān)于Docker命令需要了解的一些信息:
- Docker CLI 管理命令從Docker開始,然后是空間,然后是管理類別,然后是空間,然后是命令。例如,dockerdocker container stop 停止一個(gè)容器。
- 引用特定容器或圖像的命令需要該容器或映像的名稱或 ID。
例如, docker container run my_app 是生成和運(yùn)行名為 "my_app"的命令。在整個(gè)示例中,我將使用 my_container 這個(gè)名稱來表示泛型容器, 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)志提供命令選項(xiàng)目標(biāo)是將這些命令和標(biāo)志留在您的記憶中,并作為本指南的參考。本指南適用于Linux和Docker Engine 18.09.1版和API 1.39版。
首先,我們將查看容器的命令,然后再查看圖像的命令。下一篇文章將介紹卷。下面是15個(gè)命令的列表 – 加上3個(gè)附加命令!
容器
使用 docker container my_command
create — 從圖像創(chuàng)建容器
start — 啟動(dòng)現(xiàn)有容器
run — 創(chuàng)建新容器并啟動(dòng)它
ls — 列出正在運(yùn)行的容器
inspect — 查看有關(guān)容器的大量信息
logs — 打印日志
stop — 優(yōu)雅地停止運(yùn)行容器
kill —突然停止容器中的主進(jìn)程
rm—?jiǎng)h除已停止的容器
圖像
使用 docker image my_command
build — 生成映像
push — 將映像推送到遠(yuǎn)程注冊(cè)表
ls — 列出圖像
history — 請(qǐng)參閱中間圖像信息
inspect — 查看大量有關(guān)圖像的信息,包括圖層
rm — 刪除圖像
其他
docker version — 列出有關(guān) Docker 客戶端和服務(wù)器版本的信息
docker login — 登錄到 Docker 注冊(cè)表
docker system prune — 刪除所有未使用的容器、未使用的網(wǎng)絡(luò)和懸空?qǐng)D像
容器
容器開始
在日常生活中,術(shù)語create、start和run都有相似的語義。但每個(gè)命令都是一個(gè)單獨(dú)的 Docker 命令,用于創(chuàng)建和/或啟動(dòng)一個(gè)容器。讓我們先看看創(chuàng)建一個(gè)容器。
docker container create my_repo/my_image:my_tag-從圖像創(chuàng)建容器。
我將縮短my_repo/my_image:my_tag 到my_image文章的其余部分。
有很多可能的標(biāo)記,你可以傳遞給create。
docker container create -a STDIN my_image
-a是 --attach的簡(jiǎn)短。將容器連接到 STDIN、STDOUT 或 STDERR。
現(xiàn)在,我們已經(jīng)創(chuàng)建了一個(gè)容器,讓我們開始它。
docker container start my_container-啟動(dòng)現(xiàn)有容器。
請(qǐng)注意,容器可以通過容器的 ID 或容器的名稱引用。
docker container start my_container
開始現(xiàn)在您已經(jīng)知道如何創(chuàng)建和啟動(dòng)容器了,讓我們來談?wù)勛畛R姷?Docker 命令。它將 create和
start合并為一個(gè)命令: run。
docker container run my_image -創(chuàng)建新容器并啟動(dòng)它。它也有很多選擇,讓我們看看幾個(gè)。
docker container run -i -t -p 1000:8000 --rm my_image
-i是--interactive 的縮寫。即使未連接,也要保持 STDIN 打開。
-t是--tty 的縮寫。分配一個(gè)偽終端,將終端與集裝箱的STDIN和STDOUT連接。
您需要同時(shí)指定 -i 和 -t,然后通過終端外殼與容器進(jìn)行交互。
-p是--port 的縮寫。端口是與外部世界的接口。1000:8000 將Docker端口8000映射到計(jì)算機(jī)上的端口1000。如果你有一個(gè)應(yīng)用程序可以將某些內(nèi)容輸出到瀏覽器中,那么你可以將瀏覽器導(dǎo)航到本地主機(jī)localhost:1000 并看到它。
--rm當(dāng)容器停止運(yùn)行時(shí),自動(dòng)刪除該容器。
讓我們看一些更多的例子。run
docker container run -it my_image my_command
sh是可以在運(yùn)行時(shí)指定的命令。sh 將在容器內(nèi)啟動(dòng) shell 會(huì)話,您可以通過終端與之交互。 對(duì)于Alpine圖像,sh比 bash更好,因?yàn)锳lpine映像沒有安裝bash。鍵入 exit結(jié)束交互式shell會(huì)話。
請(qǐng)注意,我們將-i 和-t 合并到 -it中。
docker container run -d my_image
-d是--detach的縮寫。在后臺(tái)運(yùn)行容,。允許您在容器運(yùn)行時(shí)將終端用于其他命令。
檢查容器狀態(tài)
如果您正在運(yùn)行 Docker 容器,并且想要了解要與哪個(gè)容器交互,則需要列出它們。
docker container ls-列出正在運(yùn)行的容器,還提供有關(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-打印容器的日志。
日志。不確定虛擬日志的關(guān)聯(lián)性,也許通過大量的紙張?容器結(jié)束
有時(shí)需要停止正在運(yùn)行的容器。
docker container stop my_container-正常停止一個(gè)或多個(gè)正在運(yùn)行的容器。在容器關(guān)閉前給出10 秒的默認(rèn)值,以完成任何進(jìn)程。
或者,如果您不耐煩:
docker container kill my_container-突然停止一個(gè)或多個(gè)正在運(yùn)行的容器。就像扒掉電視插頭一樣。在大多數(shù)情況下,stop是最好的選擇。
docker container kill $(docker ps -q)-關(guān)閉所有正在運(yùn)行的容器。
殺死的蟑螂然后刪除容器,包括:
docker container rm my_container-刪除一個(gè)或多個(gè)容器。
docker container rm $(docker ps -a -q)-刪除所有未運(yùn)行的容器。
這些就是 Docker 容器的八個(gè)基本命令。
回顧一下,首先創(chuàng)建一個(gè)容器,然后,啟動(dòng)容器;或?qū)⑦@些步驟與docker run my_container 結(jié)合。然后,你的應(yīng)用將運(yùn)行。
然后,使用docker stop my_container停止容器;最終使用docker rm my_container刪除容器。
現(xiàn)在,讓我們來看看制造稱為圖像的模具的神奇容器。
圖像
下面是用于處理 Docker 映像的七個(gè)命令。
開發(fā)圖像
docker image build -t my_repo/my_image:my_tag .-從位于指定路徑或URL的Dockerfile構(gòu)建名為my_image的Docker映像。
-t是標(biāo)記的簡(jiǎn)短。告訴 Docker 使用提供的標(biāo)記來標(biāo)記圖像。在my_tag這種情況下。
.命令末尾的 (期間) 告訴 Docker 在當(dāng)前工作目錄中根據(jù) Dockerfile 生成映像。
構(gòu)建它構(gòu)建映像后,您需要把它推到遠(yuǎn)程注冊(cè)表,以便使它被共享并根據(jù)需要被拉取。假設(shè)您要使用Docker Hub,請(qǐng)轉(zhuǎn)到瀏覽器中并創(chuàng)建一個(gè)帳戶。它是免費(fèi)的。
下一個(gè)命令不是圖像命令,但在這里查看很有用,所以我要提一下。
docker login-登錄到 Docker 注冊(cè)表,提示時(shí)輸入用戶名和密碼。
推docker image push my_repo/my_image:my_tag-將映像推送到注冊(cè)表。
一旦有一些圖像,你可能檢查他們。
檢查圖像
檢查時(shí)間docker image ls-列出您的圖像。顯示每個(gè)圖像的大小。
docker image history my_image-顯示圖像的中間圖像其大小及創(chuàng)建方式。
docker image inspect my_image-顯示大量有關(guān)圖像的詳細(xì)信息,包括組成圖像的圖層。
有時(shí)您需要清理圖像。
刪除圖像
docker image rm my_image-刪除指定的圖像。如果映像存儲(chǔ)在遠(yuǎn)程存儲(chǔ)庫中,則該映像仍將在那里可用。
docker image rm $(docker images -a -q)-刪除所有圖像。請(qǐng)注意,已推送到遠(yuǎn)程注冊(cè)表的圖像將保留,這是注冊(cè)表的好處之一。
以上講述了大多數(shù)必不可少的 Docker 映像相關(guān)命令。我們將在下一篇文章中介紹與數(shù)據(jù)相關(guān)的命令。
命令就像水果, 營(yíng)養(yǎng)豐富, 美味可口。其他
docker version-列出有關(guān) Docker 客戶端和服務(wù)器版本的信息。
docker login-登錄 Docker 注冊(cè)表。提示時(shí)輸入用戶名和密碼。
docker system prune出現(xiàn)在下一篇文章中。Twitter 和 Reddit 上的讀者認(rèn)為,加入這個(gè)列表是件好事。
docker system prune-刪除所有未使用的容器、未使用的網(wǎng)絡(luò)和懸空?qǐng)D像。
docker system prune -a --volumes
-a是--all 的縮寫。刪除未使用的圖像,而不僅僅是懸空的圖像。
--volumes刪除未使用的卷。我們將在下一篇文章中討論更多有關(guān)卷的文章。
管理命令
在 CLI 1.13 Docker 中引入了按邏輯分組并一致命名的管理命令名稱。舊命令仍然有效,但新命令使使用 Docker 更容易。本文的原始版本列出了舊名稱。我更新了文章,根據(jù)讀者建議使用管理命令名稱。請(qǐng)注意,此更改僅引入兩個(gè)命令名稱更改 - 在大多數(shù)情況下,它只是意味向命令添加container 或image。這里是命令的映射。
包
如果您剛剛開始使用 Docker,以下是三個(gè)最重要的命令:
docker container run my_image-創(chuàng)建新容器并啟動(dòng)它。你可能想要一些標(biāo)志在這里。
docker image build -t my_repo/my_image:my_tag .-生成映像。
docker image push my_repo/my_image:my_tag-將映像推送到遠(yuǎn)程注冊(cè)表。
下面是基本 Docker 命令的較大列表:
容器
使用docker container my_command
create-從圖像創(chuàng)建容器
start-啟動(dòng)現(xiàn)有容器
run-創(chuàng)建新容器并啟動(dòng)它
ls-列出正在運(yùn)行的容器
inspect-查看有關(guān)容器的大量信息
logs-打印日志
stop-優(yōu)雅地停止運(yùn)行容器
kill-突然停止容器中的主要過程
rm-刪除已停止的容器
圖像
使用docker image my_command
build -生成映像。
push-將映像推送到遠(yuǎn)程注冊(cè)表
ls-列出圖像
history-請(qǐng)參閱中間圖像信息
inspect-查看大量有關(guān)圖像的信息,包括圖層
rm-刪除圖像
其他
docker version-列出有關(guān) Docker 客戶端和服務(wù)器版本的信息
docker login-登錄到 Docker 注冊(cè)表
docker system prune -刪除所有未使用的容器、未使用的網(wǎng)絡(luò)和懸空?qǐng)D像。
若要在使用 Docker 時(shí)查看 CLI 引用,只需在命令行中輸入命令。
現(xiàn)在,您就可以使用 Docker 構(gòu)建東西了!
如果您錯(cuò)過了本系列的早期文章,請(qǐng)查看它們。第一個(gè)是:《Docker-第1部分:什么是Docker?》
希望這些文章對(duì)您有幫助。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的docker run后台启动命令_Docker-第五部分:15个 Docker 命令的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 86版西游记40年了 幕后珍贵花絮曝光:
- 下一篇: 计算机是一种在什么控制下 自动高速,计算