docker鏡像的文件都存在哪里 云計(jì)算中什么用來保存鏡像?
云計(jì)算中什么用來保存鏡像?Registry)Docker倉(cāng)庫(kù)是用來存儲(chǔ)圖像的,可以理解為代碼控制中的代碼倉(cāng)庫(kù)。Docker Hub提供了大量鏡像供使用。Docker倉(cāng)庫(kù)是用來存放圖片的,可以理解為代碼
云計(jì)算中什么用來保存鏡像?
Registry)Docker倉(cāng)庫(kù)是用來存儲(chǔ)圖像的,可以理解為代碼控制中的代碼倉(cāng)庫(kù)。Docker Hub提供了大量鏡像供使用。
Docker倉(cāng)庫(kù)是用來存放圖片的,可以理解為代碼控制中的代碼倉(cāng)庫(kù)。提供了大量可供使用的鏡子。
Dock
Docker鏡像和容器的區(qū)別詳解?
當(dāng)您希望一個(gè)容器做兩件事,或者讓一個(gè)Docker映像包含來自兩個(gè)不同映像的依賴庫(kù)時(shí),您需要知道每個(gè)映像的Dockerfile。本文介紹了如何通過dockerhistory命令對(duì)Docker圖片進(jìn)行逆向工程,獲取它們的Docker文件,組織成一個(gè)Docker文件并進(jìn)行構(gòu)建,從而實(shí)現(xiàn)你想要做的事情。
常言道, "唐 不要多此一舉! "
使用Docker時(shí),在建立自己的鏡像之前,最好先在DockerHub中找一些可以直接使用的鏡像進(jìn)行練習(xí)。將軟件架構(gòu)分布到一系列容器中是非常有效的,每個(gè)容器只做一件事。構(gòu)建分布式應(yīng)用程序的最佳基礎(chǔ)是使用DockerHub的官方圖像,因?yàn)樗鼈兊馁|(zhì)量是可信的。
在某些情況下,您可能希望一個(gè)容器做兩件不同的事情。在其他情況下,您可能希望Docker映像包含來自兩個(gè)不同映像的依賴庫(kù)。如果每個(gè)圖像都有一個(gè)docker文件,這就非常簡(jiǎn)單了。將它們組織到Dockerfile文件中并構(gòu)建它們。
但是大部分時(shí)候都是使用DockerHub上準(zhǔn)備的圖片,不會(huì)有它們的源Dockerfile。我花時(shí)間找到了一個(gè)工具,可以合并(或展平)兩個(gè)不同的Docker圖像,而不需要它們的Docker文件。也就是說,尋找可以做到以下幾點(diǎn)的東西:
圖1 -
- gtmerged_image_12
/
圖2 -
之前在GitHub上有兩個(gè)相關(guān)的討論(1和2),雖然都是關(guān)閉的。
這可能嗎?
那么,有沒有一個(gè)工具可以做到這一點(diǎn):docker merge image 2 image2 merged _ image?
不要!
你可以 甚至不能用下面的方法構(gòu)建Dockerfile:
來自圖像1
來自圖像2
簡(jiǎn)而言之,你可以 不要在一個(gè)Dockerfile文件中有多個(gè)基本鏡像。比如。
但是我需要這個(gè)功能!
唯一的解決方案是獲取這些圖像的docker文件,然后將它們組織成一個(gè)文件并構(gòu)建它們。那么,我能在DockerHub上得到一個(gè)鏡像Dockerfile嗎?幸運(yùn)的是,你可以。它可以 不可離線獲取(原文在線,但顯然在線時(shí)可以直接從GitHub獲取),但可以使用dockerhistory命令通過逆向工程獲取。
怎么用?
使用dockerpull從您機(jī)器上的DockerHub下載圖像。
dockerpullimage1
dockerpullimage2
然后使用dockerhistory獲取構(gòu)建兩個(gè)容器時(shí)運(yùn)行的命令。
docker history-no-trunctrueimaggtimage 1-docker file
docker history-no-trunctruegimage 2g timage 2-docker file
接下來,打開這兩個(gè)文件,您可以看到每個(gè)圖像的命令堆棧。這是因?yàn)镈ocker圖像是由層構(gòu)建的(閱讀更多)。也就是說,您在Dockerfile中鍵入的每個(gè)命令都會(huì)構(gòu)建一個(gè)新的映像,該映像位于前一個(gè)命令生成的映像之上。所以你可以對(duì)鏡像進(jìn)行逆向工程。
限制
唯一的情況是你可以 對(duì)映像進(jìn)行反向工程是指映像的維護(hù)者在docker文件中使用ADD或COPY命令。您將看到這樣一行:
addfil: 1 AC 56373 f 7983 caf 22
或者add dir : cf 6 Fe 659 e 9d 21535844。
這是因?yàn)槲也?我不知道維護(hù)人員在自己的機(jī)器上使用了什么本地文件,包括圖像。