如何理解docker鏡像

對于外行人來說,可能都不知道docker是什么東西,有什么作用,而對于內(nèi)行人來說,docker則有很大的用處,它可用于創(chuàng)建、編排和管理容器,可運(yùn)行于windows和linux系統(tǒng),其中,docker鏡像算是docker一個很重要的部分,大家可以到創(chuàng)新互聯(lián)制作docker鏡像。

Docker簡介

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

如何理解Docker鏡像

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

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

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

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

因?yàn)槿萜鞯脑O(shè)計初衷就是快速和小巧,所以鏡像通常都比較小。

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

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

docker鏡像的制作方法

方法1:docker commit

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

命令是:

[root@localhost]#docker run -it docker.io/centos:latest /bin/bash #運(yùn)行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 有點(diǎn)像源碼編譯時./configure后產(chǎn)生的 Makefile

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

[root@localhost]# mkdir /docker -build

2.進(jìn)入這個目錄

[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運(yùn)行實(shí)例,然后執(zhí)行yum命令,進(jìn)行安裝》

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鏡像需求的朋友可以考慮到創(chuàng)新互聯(lián)咨詢,今后本站還將推送更多新資訊,請繼續(xù)關(guān)注本站。

分享名稱:如何理解docker鏡像
URL標(biāo)題:http://muchs.cn/article4/sdgdoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、營銷型網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計、軟件開發(fā)、搜索引擎優(yōu)化、域名注冊

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站