docker中run、start和create命令的區(qū)別
對于 Docker 初學者來說,docker start、docker run 和 docker create 等術語可能會令人困惑。本文通過示例解釋了其中的區(qū)別。
如果您不熟悉 Docker 并通過學習各種教程來學習它,則可能會遇到諸如啟動 docker 容器、運行 docker 容器或創(chuàng)建 docker 容器之類的術語。
這些術語足以使 Docker 初學者感到困惑,因為所有三個 docker 命令看起來都很相似。
事實上,特別難以區(qū)分 docker run 和 docker start。
運行容器與啟動容器是一樣的嗎?并不是。
讓我向你解釋一下。
docker run、docker start和 docker create之間的區(qū)別
以下是這些命令的用途:
docker create命令從 Docker 映像創(chuàng)建一個全新的容器。但是,它不會立即運行它。
docker start命令將啟動任何已停止的容器。如果使用 docker create命令創(chuàng)建容器,則可以使用此命令啟動它。
docker run 命令是創(chuàng)建和啟動的組合,因為它創(chuàng)建了一個新容器并立即啟動它。實際上,如果docker run命令在您的系統(tǒng)上找不到上述映像,它甚至可以從 Docker Hub 中提取映像。
讓我們用例子來看看它,這樣你就能更清楚地知道事情。
讓我們通過示例來查看它
如果要遵循示例,請確保已安裝 Docker。
假設您使用 docker pull ubuntu 命令從 Docker Hub 下載 Ubuntu 映像。
您可以查看系統(tǒng)上所有可用的 Docker 映像。在這個例子中,我只有ubuntu(為了避免混淆):
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu latest 775349758637 5 weeks ago 64.2MB
現(xiàn)在,使用 docker create 命令創(chuàng)建一個名為 container-1 的新docker容器:
# docker create --name container-1 ubuntu 6a81a998658e9e0d3b612ee65b07d76a45d79812d860baf3f1cbc60fe997ebec
可以看到它已創(chuàng)建一個新容器。如果嘗試查看所有正在運行的容器,則不會看到 container-1,因為盡管它已創(chuàng)建,但從未啟動過。
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
如果檢查所有容器,無論它們是否正在運行,都會看到 container-1 具有"已創(chuàng)建"狀態(tài):
# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6a81a998658e ubuntu "/bin/bash" 18 seconds ago Created container-1
現(xiàn)在,讓我們使用docker run 命令來創(chuàng)建并運行一個名為 container-2 的容器:
# docker run -it -d --name container-2 ubuntu bash 6391c1a0cac6c9f5fc6f5cfb05d75a22c208e63223c3b231035a40a4b134c521
您可以看到容器-2 正在運行,因為它的狀態(tài)為"已啟動":
# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6391c1a0cac6 ubuntu "bash" About a minute ago Up About a minute container-2
讓我們停止這個正在運行的容器:
# docker stop container-2 container-2 # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES # docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6391c1a0cac6 ubuntu "bash" 2 minutes ago Exited (0) 28 seconds ago container-2 6a81a998658e ubuntu "/bin/bash" 3 minutes ago Created container-1
現(xiàn)在我們有一個停止的容器,您可以使用docker start 命令再次啟動它:
# docker start container-2 container-2 # docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6391c1a0cac6 ubuntu "bash" 2 minutes ago Up 2 seconds container-2
但是,使用 docker create 命令創(chuàng)建的 container-1 會發(fā)生什么情況呢?您可以使用 docker start 命令啟動此容器,然后使用docker exec運行特定的東西。
我希望本文能讓您更好地了解 docker run、docker start和 docker create命令。我建議您了解容器生命周期,以便進一步了解此主題。
到此這篇關于docker中run、start和create命令的區(qū)別的文章就介紹到這了,更多相關docker run、start和create內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解Docker鏡像提交命令commit的工作原理和使用方法
這篇文章主要介紹了詳解Docker鏡像提交命令commit的工作原理和使用方法,可以依據(jù)這個容器創(chuàng)建本地鏡像,并可把這個鏡像推送到Docker hub中,以便在網(wǎng)絡上下載使用,感興趣的可以了解一下2018-11-11docker maven plugin快速部署微服務的詳細流程
本文給大家介紹docker?maven?plugin微服務快速部署方法,主要將Dockerfile寫在pom中方便項目管理,將微服務的 打包、上傳、鏡像創(chuàng)建操作整合到一條命令中執(zhí)行,感興趣的朋友跟隨小編一起看看吧2022-04-04spring-boot構建docker鏡像上傳倉庫的示例教程
這篇文章主要介紹了spring-boot構建docker鏡像上傳倉庫,受限創(chuàng)建一個簡單spring-boot-web項目,查看鏡像上傳倉庫這時候有兩種解決方案,對docker鏡像上傳倉庫相關知識感興趣的朋友跟隨小編一起看看吧2022-12-12