×

中國docker鏡像怎么制作 Docker鏡像使用方法是怎樣的

分類:虛機(jī)資訊 編輯: 瀏覽量:100
2021-06-23 09:30:44
在技術(shù)行業(yè)中,有很多專業(yè)術(shù)語是我們外行人一點(diǎn)都不懂的,比如docker、Objective-C、Smalltalk等等。為了幫助大家能大概了解這些內(nèi)容,新網(wǎng)小編整理了關(guān)于中國docker鏡像怎么制作?Docker鏡像使用方法是怎樣的內(nèi)容。

??中國docker鏡像怎么制作

??Dockerfile 是一個包含創(chuàng)建鏡像所有命令的文本文件,通過docker build命令可以根據(jù) Dockerfile 的內(nèi)容構(gòu)建鏡像。

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

??# 先創(chuàng)建一個文件夾為docker-admin mkdir docker-admin

??# 進(jìn)入文件夾docker-admin 并創(chuàng)建一個Dockerfile cd docker-admin && vim Dockerfile

??2.編輯Dockerfile 文件

??編輯如下內(nèi)容,下面中的COPY admin.war 的admin.war 就是我們的war文件

??FROM docker.io/tomcat

??MAINTAINER rstyro

??COPY admin.war /usr/local/tomcat/webapps

??3.獲取到.war 文件

??可以用你自己的

??# github 下載地址為:

??wget https://github.com/rstyro/admin/raw/pack/pack/admin-0.0.1-SNAPSHOT.war

??# 修改名字

??mv admin-0.0.1-SNAPSHOT.war admin.war

??4.構(gòu)建鏡像

??# 給它取名 admin 本機(jī)端口映射 8080

??docker run --name=admin -p 8080:8080 -d admin:1.0.0

??Docker鏡像使用方法是怎樣的

??docker是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,也可以實現(xiàn)虛擬化,容器是完全使用沙箱機(jī)制,相互之間不會有任何接口。一個完整的Docker有以下幾個部分組成:dockerClient客戶端、Docker Daemon守護(hù)進(jìn)程、Docker Image鏡像、DockerContainer容器。

??Docker鏡像是由文件系統(tǒng)疊加而成。最底端是一個文件引導(dǎo)系統(tǒng),即bootfs。Docker用戶不會與引導(dǎo)文件系統(tǒng)有直接的交互。Docker鏡像的第二層是root文件系統(tǒng)rootfs,通常是一種或多種操作系統(tǒng),例如ubuntu等。在Docker中,文件系統(tǒng)永遠(yuǎn)都是只讀的,在每次修改時,都是進(jìn)行拷貝疊加從而形成最終的文件系統(tǒng)。Docker稱這樣的文件為鏡像。一個鏡像可以迭代在另一個鏡像的頂部。位于下方的鏡像稱之為父鏡像,最底層的鏡像稱之為基礎(chǔ)鏡像。最后,當(dāng)從一個鏡像啟動容器時,Docker會在最頂層加載一個讀寫文件系統(tǒng)作為容器。

??本文將圍繞Docker鏡像(Docker Image),介紹其使用方法。包括三部分:

???從Docker Hub或者其他鏡像源安裝Docker鏡像

???從Image file安裝Docker鏡像

???從Docker file制作Docker鏡像

??查找Docker鏡像

??安裝Docker鏡像的第一步,是查找你需要的Docker鏡像列表,鍵入:

??docker search mysql

??如果出現(xiàn)權(quán)限問題,請在最前面加入sudo:

??sudo docker search mysql

??列表包含了所有的MySQL鏡像,其中:

???NAME字段是鏡像的名字

???DESCRIPTION字段是對鏡像的簡單描述

???STARS數(shù)量反映了用戶的喜愛程度

???OFFICIAL字段如果是OK,代表了這個鏡像是官方提供的,可以信任

???AUTOMATED字段如果是OK,代表了這個鏡像是基于公開的腳本制作的,可以信任

???如果OFFICIAL和AUTOMATED都不為OK,那使用的時候需要額外小心了,這類鏡像中可能包含惡意軟件,不過對于個人非敏感數(shù)據(jù)還是可以使用的。

??此外,你也可以通過訪問https://hub.docker.com/,通過Web來搜索你需要的鏡像。

??下載Docker鏡像

??當(dāng)你找到合適的鏡像后,可以通過:

??docker pull [REGISTRYHOST/][USERNAME/]NAME[:TAG]

??來進(jìn)行下載,方括號中的是可選項:

??docker pull mysql

??導(dǎo)出Docker鏡像

??你可以將本地鏡像導(dǎo)出為文件,如我們剛才下載的MySQL鏡像:

??docker save -o mysql.tar mysql

??將我們的MySQL鏡像導(dǎo)出為mysql.tar.

??導(dǎo)入Docker鏡像

??有導(dǎo)出就有導(dǎo)入,導(dǎo)入的命令是:

??docker load -i mysql.tar

??將我們的MySQL鏡像導(dǎo)入。

??刪除Docker鏡像

??為了節(jié)約磁盤空間,有時候我們需要刪除不需要的Docker鏡像文件,首先查看我們擁有的Docker鏡像文件:

??docker images

??然后刪除不需要的鏡像,釋放磁盤空間:

??docker rmi [REGISTRYHOST/][USERNAME/]NAME[:TAG]

??通過Docker File編譯Docker鏡像

??制作Docker File我們放在后面再講,假設(shè)你有一個名為Dockerfile的文件,編譯制作Docker的命令是:

??docker build -f Dockerfile .

??成功后將在當(dāng)前路徑下制作出一個Docker鏡像文件。

??Summary

??我們簡單的介紹了Docker鏡像的使用方法。通過此實戰(zhàn),你應(yīng)該對Docker鏡像有了更深入的體會。

中國docker鏡像怎么制作 Docker鏡像使用方法是怎樣的

中國docker鏡像

??docker鏡像與容器的關(guān)系

??docker 鏡像是一個只讀的docker容器模板,含有啟動 docker容器所需的文件系統(tǒng)結(jié)構(gòu)及其內(nèi)容,因此,是啟動一個 docker 容器的基礎(chǔ)。

??docker 鏡像的文件內(nèi)容以及一些運(yùn)行 docker 容器的配置文件,組成了 docker 容器的靜態(tài)文件系統(tǒng)運(yùn)行環(huán)境:rootfs。可以這么理解,docker 鏡像是 docker 容器的靜態(tài)視角,docker 容器是 docker 鏡像的運(yùn)行狀態(tài)。

??rootfs 是 docker 容器在啟動時內(nèi)部進(jìn)程可見的文件系統(tǒng),即 docker 容器的根目錄。rootfs 通常包含一個操作系統(tǒng)運(yùn)行所需的文件系統(tǒng),例如,可能包含典型的類 Unix 操作系統(tǒng)中的目錄系統(tǒng),如 /dev、/proc、/bin、/etc、/lib、/usr、/tmp 及運(yùn)行 docker 容器所需的配置文件、工具等。

??每個 docker容器服務(wù)都要依賴 docker 鏡像。那么當(dāng)我們第一次使用 docker run 命令啟動一個容器時,是從哪里獲取所需的鏡像呢?答案是,如果是第一次基于某個鏡像啟動容器,且宿主機(jī)上并不存在所需的鏡像,那么 docker 將從 registry 中下載該鏡像并保存到宿主機(jī)。

??如果宿主機(jī)上存在該鏡像,則直接使用宿主機(jī)上的鏡像完成容器的啟動。registry 用以保存 docker 鏡像,其中還包括鏡像層次結(jié)構(gòu)和關(guān)于鏡像的元數(shù)據(jù)。可以將 registry 簡單的想象成類似于 Git 倉庫之類的實體。

??docker 內(nèi)部的 image 概念是用來存儲一組鏡像相關(guān)的元數(shù)據(jù)信息,主要包括鏡像的架構(gòu)(如 amd64)、鏡像默認(rèn)配置信息、構(gòu)建鏡像的容器配置信息、包含所有鏡像層信息的 rootfs。

??關(guān)于“中國docker鏡像怎么制作”的內(nèi)容,就先分享到這里了,希望新網(wǎng)小編整理的資料能幫助各位小伙伴。覺得這篇文章不錯的話,可以來收藏關(guān)注哦!

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

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

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

免費(fèi)咨詢獲取折扣

Loading