×

如何理解docker鏡像

分類:云服務(wù)資訊 編輯: 瀏覽量:100
2021-08-27 17:04:16
??對于外行人來說,可能都不知道docker是什么東西,有什么作用,而對于內(nèi)行人來說,docker則有很大的用處,它可用于創(chuàng)建、編排和管理容器,可運行于windows和linux系統(tǒng),其中,docker鏡像算是docker一個很重要的部分,大家可以到新網(wǎng)制作docker鏡像。

??Docker簡介

??Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的鏡像中,然后發(fā)布到任何流行的Linux或Windows機器上,也可以實現(xiàn)虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。

??如何理解Docker鏡像

??可以把Docker鏡像理解為 VM 模板,VM 模板就像停止運行的 VM,而 Docker 鏡像就像停止運行的容器;而作為一名研發(fā)人員,則可以將鏡像理解為類(Class)。

??首先需要先從鏡像倉庫服務(wù)中拉取鏡像。常見的鏡像倉庫服務(wù)是 Docker Hub,但是也存在其他鏡像倉庫服務(wù)。

??拉取操作會將鏡像下載到本地 Docker 主機,可以使用該鏡像啟動一個或者多個容器。

??鏡像由多個層組成,每層疊加之后,從外部看來就如一個獨立的對象。鏡像內(nèi)部是一個精簡的操作系統(tǒng)(OS),同時還包含應(yīng)用運行所必須的文件和依賴包。

??因為容器的設(shè)計初衷就是快速和小巧,所以鏡像通常都比較小。

??前面多次提到鏡像就像停止運行的容器(類)。實際上,可以停止某個容器的運行,并從中創(chuàng)建新的鏡像。

??在該前提下,鏡像可以理解為一種構(gòu)建時(build-time)結(jié)構(gòu),而容器可以理解為一種運行時(run-time)結(jié)構(gòu)


??docker鏡像的制作方法

??方法1:docker commit

??1.創(chuàng)建一個安裝好apache 工具的容器鏡像。

??命令是:

??[root@localhost]#docker run -it docker.io/centos:latest /bin/bash #運行docker 鏡像

??[root@localhost]# yum install httpd # 在container 中安裝 apache 軟件包

??[root@localhost]# exit #退出容器鏡像

??2.根據(jù)容器當(dāng)前狀態(tài)做一個image 鏡像:創(chuàng)建一個安裝了apache 工具的centos 鏡像

??語法:docker commit 或者

??方法2:通過:docker build 創(chuàng)建一個基于centos的httpd web 服務(wù)器鏡像。

??使用docker build 創(chuàng)建鏡像時,需要使用 dockerfile 文件自動化制作image 鏡像

??注意:dockerfile 有點像源碼編譯時./configure后產(chǎn)生的 Makefile

??1.創(chuàng)建 docker-build目錄

??[root@localhost]# mkdir /docker -build

??2.進入這個目錄

??[root@localhost]# cd /docker-build

??3.創(chuàng)建一個文件 Dockerfile

??[root@localhost docker-build]# touch Dockerfile

??注意:make自動化編譯時需要makefile文件,自動化創(chuàng)建docker 鏡像時,需要Dockerfile

??4.編輯dockerfile

??Dockerfile 用來創(chuàng)建一個自定義的image,包含了用戶指定的軟件依賴等。

??[root@localhost]#vim Dockerfile

??寫入的內(nèi)容:

??FROM docker.io/centos:latest #我是基于那個鏡像來做的

??MAINTAINER #作者是誰

??RUN yum -y install httpd #做什么《拿這個鏡像docker.io/centos:latest運行實例,然后執(zhí)行yum命令,進行安裝》

??ADD start.sh /usr/local/bin/start.sh #把start.sh這個啟動腳本添加到/usr/local/bin這個文件下

??ADD index.html /var/www/html/index.html #把index.html這個啟動腳本添加到/var/www/html這個文件下

??以上就是對docker鏡像的全部介紹,有制作docker鏡像需求的朋友可以考慮到新網(wǎng)咨詢,今后本站還將推送更多新資訊,請繼續(xù)關(guān)注本站。

聲明:免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請發(fā)

送郵件至:operations@xinnet.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時

需注明出處:新網(wǎng)idc知識百科

免費咨詢獲取折扣

Loading