docker里image是什么 如何將dockerimage打包?
如何將dockerimage打包?可以不,可以注冊(cè)一個(gè)dockerhub賬號(hào),在Linux上dockerpush過(guò)去,從windows上dockerpull下來(lái)即可Docker鏡像和容器的區(qū)別詳解?當(dāng)
如何將dockerimage打包?
可以不,可以注冊(cè)一個(gè)dockerhub賬號(hào),在Linux上dockerpush過(guò)去,從windows上dockerpull下來(lái)即可
Docker鏡像和容器的區(qū)別詳解?
當(dāng)想讓一個(gè)容器做兩件事情,的或使一個(gè)Docker鏡像中有來(lái)自兩個(gè)有所不同鏡像的依賴庫(kù)時(shí),就需要知道每個(gè)鏡像的Dockerfile。本文可以介紹了怎么實(shí)際dockerhistory命令來(lái)對(duì)Docker鏡像接受反向工程,我得到它們的Dockerfile,并成員到一個(gè)Dockerfile里接著builds,最終達(dá)到利用想要做的事。
常言道,“最好別重復(fù)發(fā)明輪子!”
在可以使用Docker時(shí),最終形成自己的鏡像之前,建議在DockerHub去尋找一些可以真接使用的鏡像做練習(xí)。把軟件架構(gòu)其分布到一系列容器中,每一個(gè)容器只做一件事情,這樣的效果的很好。統(tǒng)合分布式應(yīng)用到的建議的基石是在用不知從何而來(lái)DockerHub的官方鏡像,畢竟也可以絕對(duì)的信任它們的質(zhì)量。
在某些情況下,很有可能想讓一個(gè)容器做兩件不同的事情。而在另外一些情況下,肯定想讓一個(gè)Docker鏡像包含無(wú)論是兩個(gè)差別鏡像的依賴庫(kù)。如果有每個(gè)鏡像的Dockerfile,這是的很簡(jiǎn)單點(diǎn)。將它們參與到一個(gè)Dockerfile里后再builds就行。
但這,大多數(shù)時(shí)間都在使用DockerHub上打算好的鏡像,不會(huì)有它們的源Dockerfile。我花時(shí)間找一個(gè)也可以合并(或flatten)兩個(gè)完全不同Docker鏡像的工具,當(dāng)然沒有它們的Dockerfile。也就是說(shuō)在找一個(gè)去做下面這件事的東西:
image1--
---gtmerged_image_12
/
image2--
此前在GitHub上有兩個(gè)相關(guān)的討論(1、2),但他它們都被直接關(guān)閉了。
這很可能嗎?
這樣的話,是否需要存在工具能像這樣的話做嗎:dockermergeimage2image2merged_image?
也沒!
你甚至是可以用下面的來(lái)形成完整Dockerfile:
FROMimage1
FROMimage2
簡(jiǎn)言之,在一個(gè)Dockerfile里不能不能有多個(gè)基礎(chǔ)鏡像。
但是我必須這個(gè)功能!
任何的解決方法是全面的勝利這些鏡像的Dockerfile,然后把把它們內(nèi)部到一個(gè)文件中,再通過(guò)統(tǒng)合。那么,我能在DockerHub上我得到一個(gè)鏡像的Dockerfile嗎?幸運(yùn)的是是可以。它不能不能離線模式某些(譯注:原文是online,但顯然gambling時(shí)這對(duì)不知從何而來(lái)GitHub的自動(dòng)出現(xiàn)構(gòu)建鏡像是是可以再獲取的),但你可以建議使用dockerhistory命令,反向工程聲望兌換。
怎莫來(lái)使用?
在你的機(jī)器上在用dockerpull從DockerHub上網(wǎng)下載鏡像。
dockerpullimage1
dockerpullimage2
接著使用dockerhistory來(lái)提出最終形成這兩個(gè)容器時(shí)運(yùn)行程序的命令。
dockerhistory--yes-trunctrueimagegtimage1-dockerfile
dockerhistory--so-trunctrueimage2gtimage2-dockerfile
接下來(lái)的可以打開這兩個(gè)文件,你可以清晰的看到每個(gè)鏡像的命令邏輯塊。這是是因?yàn)镈ocker鏡像通過(guò)層(閱讀什么許多)的來(lái)構(gòu)建體系。即你在Dockerfile中輸入的每一個(gè)命令所構(gòu)建體系的新鏡像,都是在之前的命令出現(xiàn)的鏡像之上。所以你這個(gè)可以對(duì)鏡像進(jìn)行逆向工程。
沒限制
不能不能對(duì)鏡像參與反向工程的真正場(chǎng)景,是鏡像的維護(hù)者在他的Dockerfile中不使用了ADD或COPY命令。你會(huì)看見了這樣的話一行:
ADDfile:1ac56373f7983caf22
或ADDdir:cf6fe659e9d21535844
這是是因?yàn)檎娌恢滥芫S護(hù)者在他自己的機(jī)器上,除開鏡像里建議使用了什么本地文件。