无法保存文件后,泊坞窗图像中“泊坞窗提交”
问题描述:
docker run -it -v /myhostpath:/dockerpath $container
所以我从一台主机目录的码头工人目录映射,我的确看到通过共享的文件两个dirs。
之后,我退出容器,提交并保存图像。 但是,当我再次打开容器时,共享文件不见了。
谁能告诉我发生了什么事?谢谢!
答
-v
选项就像使用mount
命令挂载外部文件系统一样。映射到容器-v
的目录不在容器的文件系统中。因此,将容器文件系统中的更改提交给新映像不包含这些外部文件。
如果要将一些外部文件复制到容器中,则需要使用-v
临时装载目录,然后使用cp
命令复制到容器的本地目录,然后提交。
或者,您可以包括使用ADD
或COPY
文件的Dockerfile
如果外部文件可以被认为是必不可少的输入或输出的容器,即从容器分开,并且可以在其他地方需要(日志文件,计算结果,数据库数据等),或者应该保密,那么你不应该将它们复制到容器中。而是继续使用-v
将该目录挂载到容器上。
谢谢!我发现只有当我将文件cp到/ usr/local时,那么在我退出后可以保存这些文件。即使我将文件cp到/ root也不行。这是为什么?? – James
@James'/'是*根目录*。我不知道'/ root'是什么(* root-slash-root *)。我猜测这是主机根驱动器的挂载点。 – jpaugh
'/ root'通常是根用户的主目录。 – Paul