docker怎么下載運(yùn)行 nas上docker能干嘛?
nas上docker能干嘛?Docker可以被看作是一個(gè) "小程序 "在NAS世界里,通過(guò)內(nèi)部程序運(yùn)行,幫助NAS實(shí)現(xiàn)更多功能,擴(kuò)展用途。當(dāng)然,Docker不等于程序本身。你可以把它想成一個(gè) "集裝箱
nas上docker能干嘛?
Docker可以被看作是一個(gè) "小程序 "在NAS世界里,通過(guò)內(nèi)部程序運(yùn)行,幫助NAS實(shí)現(xiàn)更多功能,擴(kuò)展用途。
當(dāng)然,Docker不等于程序本身。你可以把它想成一個(gè) "集裝箱與運(yùn)輸-在里面加載各種程序。在Dock
Docker鏡像和容器的區(qū)別詳解?
當(dāng)您希望一個(gè)容器做兩件事,或者讓一個(gè)Docker映像包含來(lái)自兩個(gè)不同映像的依賴庫(kù)時(shí),您需要知道每個(gè)映像的Dockerfile。本文介紹了如何通過(guò)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映像包含來(lái)自兩個(gè)不同映像的依賴庫(kù)。如果每個(gè)圖像都有一個(gè)docker文件,這就非常簡(jiǎn)單了。將它們組織到Dockerfile文件中并構(gòu)建它們。
但是大部分時(shí)候都是使用DockerHub上準(zhǔn)備的圖片,不會(huì)有它們的源Dockerfile。我花時(shí)間找到了一個(gè)工具,可以合并(或展平)兩個(gè)不同的Docker圖像,而不需要它們的Docker文件。也就是說(shuō),尋找可以做到以下幾點(diǎn)的東西:
圖1 -
- gtmerged_image_12
/
圖2 -
之前在GitHub上有兩個(gè)相關(guān)的討論(1和2),雖然都是關(guān)閉的。
這可能嗎?
那么,有沒(méi)有一個(gè)工具可以做到這一點(diǎn):docker merge image 2 image2 merged _ image?
不要!
你可以 甚至不能用下面的方法構(gòu)建Dockerfile:
來(lái)自圖像1
來(lái)自圖像2
簡(jiǎn)而言之,一個(gè)Dockerfile文件中不能有多個(gè)基本映像。
但是我需要這個(gè)功能!
唯一的解決方案是獲取這些圖像的Dockerfile,然后對(duì)它們進(jìn)行分組。將它編織成一個(gè)文件,然后構(gòu)建它。那么,我能在DockerHub上得到一個(gè)鏡像Dockerfile嗎?幸運(yùn)的是,你可以。它可以 不可離線獲取(原文在線,但顯然在線時(shí)可以直接從GitHub獲取),但可以使用dockerhistory命令通過(guò)逆向工程獲取。
怎么用?
使用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
接下來(lái),打開(kāi)這兩個(gè)文件,您可以看到每個(gè)圖像的命令堆棧。這是因?yàn)镈ocker圖像是由層構(gòu)建的(閱讀更多)。也就是說(shuō),您在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ī)器上使用了什么本地文件,包括圖像。