在docker中,鏡像可以用來打包軟件運行環(huán)境和基于運行環(huán)境開發(fā)的軟件;鏡像是Docker運行容器的前提,倉庫是存放鏡像的場所,更是Docker的核心,除了提供容器運行時所需的程序、庫、資源、配置等文件外,還包含了一些為運行時準備的一些配置參數(shù)。
本教程操作環(huán)境:linux7.3系統(tǒng)、docker19.03版、Dell G3電腦。
docker鏡像可以做什么
鏡像到底是什么?
鏡像是一種輕量級、可執(zhí)行的獨立軟件包,用來打包軟件運行環(huán)境和基于運行環(huán)境開發(fā)的軟件,它包含運行某個軟件所需的所有內(nèi)容,包括代碼、運行時、庫、環(huán)境變量和配置文件。
docker鏡像的用處:
1、鏡像是Docker運行容器的前提,倉庫是存放鏡像的場所,更是Docker的核心;
2、鏡像可以看作是一個特殊的文件系統(tǒng),除了提供容器運行時所需的程序、庫、資源、配置等文件外,還包含了一些為運行時準備的一些配置參數(shù)。
為什么有 Docker 鏡像?
Paas 時代,它是提供一種叫 “托管應用” 的能力,在部署應用時,通過手工或?qū)懸恍┠_本的方式進行部署。這樣部署面臨問題就是云端和本地環(huán)境一致問題。
Docker 項目和 Cloud Foundry 的容器沒有太大不同,都是用 Cgroups 和 Namespace 來實現(xiàn)的“沙盒”,不同的功能是docker 項目 Docker 鏡像。Paas 很麻煩的原因就是用戶為每個應用打包過程比較繁瑣,需要配置和給中修改等操作,非常費勁。
然而,Docker 鏡像就是為了解決這個小小的打包功能,突然一夜之間成名。那么,你可能說 Docker 鏡像就是個壓縮包,是的,你猜對了,它就像一個壓縮包文件。它是如何解決 Paas 時代所面臨的云端和本地一致性問題?很簡單,它是把一個鏡像制作成一個完整的操作系統(tǒng)所有文件和對應的目錄結(jié)構(gòu),這樣的壓縮包是跟你本地和測試環(huán)境用的操作系統(tǒng)一摸一樣。
Docker 是一個開源的應用容器引擎,讓開發(fā)者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然后發(fā)布到任何流行的 Linux或Windows操作系統(tǒng)的機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
從中可以看出,Docker 包含三個基本概念,分別是鏡像(Image)、容器(Container)和倉庫(Repository)。鏡像是 Docker 運行容器的前提,倉庫是存放鏡像的場所,可見鏡像更是Docker的核心。
回到正題,Docker 鏡像可以看作是一個特殊的文件系統(tǒng),除了提供容器運行時所需的程序、庫、資源、配置等文件外,還包含了一些為運行時準備的一些配置參數(shù)(如匿名卷、環(huán)境變量、用戶等)。鏡像不包含任何動態(tài)數(shù)據(jù),其內(nèi)容在構(gòu)建之后也不會被改變。
推薦學習:《docker視頻教程》