中國docker鏡像怎么制作 Docker鏡像使用方法是怎樣的
??中國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知識百科