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