docker中映像和容器的區別:1、鏡像是包含了各種環境或服務的一個模板,而容器是鏡像的一個實例;2、鏡像是不能運行的,是靜態的,而容器是可以運作的,是動態的。
本教學操作環境:linux7.3系統、docker-1.13.1版、Dell G3電腦。
docker中映像和容器的區別是什麼
一、Docker映像
要理解Docker映像和Docker容器之間的區別,確實不容易。
假設Linux核心是第0層,那麼無論怎麼執行Docker,它都是運行於核心層之上的。這個Docker映像,是一個唯讀的映像,位於第1層,它不能被修改或不能保存狀態。
一個Docker映像可以建構在另一個Docker映像之上,這種層疊關係可以是多層的。第1層的鏡像層我們稱之為基礎鏡像(Base Image),其他層的鏡像(除了最頂層)我們稱之為父層鏡像(Parent Image)。這些映像繼承了他們的父層映像的所有屬性和設置,並在Dockerfile中添加了自己的配置。
Docker映像透過映像ID進行辨識。鏡像ID是一個64字元的十六進位的字串。但是當我們運行鏡像時,通常我們不會使用鏡像ID來引用鏡像,而是使用鏡像名稱來引用。要列出本地所有有效的鏡像,可以使用命令
# docker images
鏡像可以發佈為不同的版本,這種機制我們稱之為標籤(Tag)。
如上圖所示,neo4j映像有兩個版本:lastest版本和2.1.5版本。
可以使用pull指令加上指定的標籤:
# docker pull ubuntu:14.04 # docker pull ubuntu:12.04
二、Docker容器
Docker容器可以使用指令建立:
# docker run imagename
它會在所有的鏡像層之上增加一個可寫入層。這個可寫層有運行在CPU上的進程,而且有兩個不同的狀態:運行態(Running)和退出態(Exited)。這就是Docker容器。當我們使用docker run啟動容器,Docker容器就進入運行態,當我們停止Docker容器時,它就會進入退出態。
當我們有一個正在運行的Docker容器時,從運行態到停止態,我們對它所做的一切變更都會永久地寫到容器的檔案系統中。要切記,對容器的變更是寫入到容器的檔案系統的,而不是寫入到Docker映像中的。
我們可以用同一個映像啟動多個Docker容器,這些容器啟動後都是活動的,彼此還是互相隔離的。我們對其中一個容器所做的變更只會侷限在那個容器本身。
如果容器的底層鏡像進行修改,那麼目前正在運行的容器是不受影響的,不會發生自動更新現象。
如果想更新容器到其鏡像的新版本,那麼必須當心,確保我們是以正確的方式建構了資料結構,否則我們可能會導致損失容器中所有資料的後果。
64字元的十六進位的字串來定義容器ID,它是容器的唯一識別碼。容器之間的互動是依靠容器ID識別的,由於容器ID的字元太長,我們通常只需鍵入容器ID的前4個字元即可。當然,我們也可以使用容器名,但顯然用4字的容器ID比較簡單。
推薦學習:《docker影片教學》
以上是docker中映像和容器的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Docker是一種基於Linux容器技術的工具,用於打包、分發和運行應用,提升應用的可移植性和可擴展性。 1)通過dockerbuild和dockerrun命令,可以構建和運行Docker容器。 2)DockerCompose用於定義和運行多容器的Docker應用,簡化微服務管理。 3)使用多階段構建可以優化鏡像大小,提升應用啟動速度。 4)查看容器日誌是調試容器問題的有效方法。

Docker 容器啟動步驟:拉取容器鏡像:運行 "docker pull [鏡像名稱]"。創建容器:使用 "docker create [選項] [鏡像名稱] [命令和參數]"。啟動容器:執行 "docker start [容器名稱或 ID]"。檢查容器狀態:通過 "docker ps" 驗證容器是否正在運行。

查看 Docker 日誌的方法包括:使用 docker logs 命令,例如:docker logs CONTAINER_NAME使用 docker exec 命令運行 /bin/sh 並查看日誌文件,例如:docker exec -it CONTAINER_NAME /bin/sh ; cat /var/log/CONTAINER_NAME.log使用 Docker Compose 的 docker-compose logs 命令,例如:docker-compose -f docker-com

可以通過以下步驟查詢 Docker 容器名稱:列出所有容器(docker ps)。篩選容器列表(使用 grep 命令)。獲取容器名稱(位於 "NAMES" 列中)。

在 Docker 中創建容器: 1. 拉取鏡像: docker pull [鏡像名] 2. 創建容器: docker run [選項] [鏡像名] [命令] 3. 啟動容器: docker start [容器名]

退出 Docker 容器的四種方法:容器終端中使用 Ctrl D 快捷鍵容器終端中輸入 exit 命令宿主機終端中使用 docker stop <container_name> 命令宿主機終端中使用 docker kill <container_name> 命令(強制退出)

Docker 中將文件拷貝到外部主機的方法:使用 docker cp 命令:執行 docker cp [選項] <容器路徑> <主機路徑>。使用數據卷:在主機上創建目錄,在創建容器時使用 -v 參數掛載該目錄到容器內,實現文件雙向同步。

在 Docker 中啟動 MySQL 的過程包含以下步驟:拉取 MySQL 鏡像創建並啟動容器,設置根用戶密碼並映射端口驗證連接創建數據庫和用戶授予對數據庫的所有權限


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver CS6
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。