2017-10-17 81 views
0

我在Dockerfile中有一個碼頭圖像USER bigtop。我這樣做:碼頭導出導入和用戶

docker run myimage SOMETHING 
docker export > GIANTTARBALL 
docker import GIANTTARBALL imported 
docker run -it imported bash 

我坐在/ root作爲根運行。爲什麼?

回答

1

docker export命令將導出容器文件系統(無Docker鏡像或運行時元數據)。請參閱https://docs.docker.com/engine/reference/commandline/export/

從本質上講,當您以這種方式導出文件系統時,會丟失任何Docker特定指令,包括USER

值得注意的是,你可以從圖像(不是容器)出口和保存圖像和元數據使用docker save一個壓縮包:https://docs.docker.com/engine/reference/commandline/save/#usage

+0

那麼,無論哪種方式,我失去了一些東西?保存不捕獲容器關閉時的狀態,並且導出不捕獲USER等。 – bmargulies

+0

正確。 「保存」是用於圖像,而不是容器。但是你可以通過在容器上執行一個'docker commit'來模仿它,並將圖像提交給一個標籤,然後'保存'該圖像。 –