在docker中,映像可以用來打包軟體運作環境和基於運行環境開發的軟體;鏡像是Docker運作容器的前提,倉庫是存放映像的場所,更是Docker的核心,除了提供容器運行時所需的程式、庫、資源、配置等文件外,還包含了一些為運行時準備的一些配置參數。
本教學操作環境:linux7.3系統、docker19.03版、Dell G3電腦。
映像到底是什麼?
鏡像是一種輕量級、可執行的獨立軟體包,用來打包軟體運行環境和基於運行環境開發的軟體,它包含運行某個軟體所需的所有內容,包括程式碼、執行時間、函式庫、環境變數和設定檔。
docker映像的用處:
1、鏡像是Docker運作容器的前提,倉庫是存放映像的場所,更是Docker的核心;
2、鏡像可以看作是一個特殊的檔案系統,除了提供容器運行時所需的程式、庫、資源、配置等文件外,還包含了一些為運行時準備的一些配置參數。
為什麼有 Docker 映像?
Paas 時代,它是提供一種叫做 「託管應用程式」 的能力,在部署應用程式時,透過手動或寫一些腳本的方式進行部署。這樣部署面臨問題就是雲端和本地環境一致問題。
Docker 專案和 Cloud Foundry 的容器沒有太大不同,都是用 Cgroups 和 Namespace 來實現的“沙盒”,不同的功能是docker 專案 Docker 映像。 Paas 很麻煩的原因就是使用者為每個應用程式打包流程比較繁瑣,需要設定和給中修改等操作,非常費力。
然而,Docker 映像就是為了解決這個小小的打包功能,突然一夜之間成名。那麼,你可能會說 Docker 映像就是個壓縮包,是的,你猜對了,它就像一個壓縮包檔。它是如何解決 Paas 時代所面臨的雲端和本地一致性問題?很簡單,它是把一個鏡像製作成一個完整的作業系統所有檔案和對應的目錄結構,這樣的壓縮包是跟你本地和測試環境用的作業系統一摸一樣。
Docker 是一個開源的應用程式容器引擎,讓開發者可以打包他們的應用程式以及依賴套件到一個可移植的映像中,然後發佈到任何流行的Linux或Windows作業系統的機器上,也可以實現虛擬化。容器是完全使用沙箱機制,彼此之間不會有任何介面。
從中可以看出,Docker 包含三個基本概念,分別是映像(Image)、容器(Container)和倉庫(Repository)。映像像是 Docker 運作容器的前提,倉庫是存放映像的場所,可見映像更是Docker的核心。
回到正題,Docker 映像可以看作是一個特殊的檔案系統,除了提供容器執行時間所需的程式、函式庫、資源、配置等檔案外,還包含了一些為執行時間準備的一些配置參數(如匿名磁碟區、環境變數、使用者等)。鏡像不包含任何動態數據,其內容在建置之後也不會被改變。
推薦學習:《docker影片教學》
以上是docker映像可以做什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!