0
我在Dockerfile中有一個碼頭圖像USER bigtop
。我這樣做:碼頭導出導入和用戶
docker run myimage SOMETHING
docker export > GIANTTARBALL
docker import GIANTTARBALL imported
docker run -it imported bash
我坐在/ root作爲根運行。爲什麼?
我在Dockerfile中有一個碼頭圖像USER bigtop
。我這樣做:碼頭導出導入和用戶
docker run myimage SOMETHING
docker export > GIANTTARBALL
docker import GIANTTARBALL imported
docker run -it imported bash
我坐在/ root作爲根運行。爲什麼?
docker export
命令將導出容器文件系統(無Docker鏡像或運行時元數據)。請參閱https://docs.docker.com/engine/reference/commandline/export/。
從本質上講,當您以這種方式導出文件系統時,會丟失任何Docker特定指令,包括USER
。
值得注意的是,你可以從圖像(不是容器)出口和保存圖像和元數據使用docker save
一個壓縮包:https://docs.docker.com/engine/reference/commandline/save/#usage。
那麼,無論哪種方式,我失去了一些東西?保存不捕獲容器關閉時的狀態,並且導出不捕獲USER等。 – bmargulies
正確。 「保存」是用於圖像,而不是容器。但是你可以通過在容器上執行一個'docker commit'來模仿它,並將圖像提交給一個標籤,然後'保存'該圖像。 –