首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Docker:新创建的文件在哪里?

Docker:新创建的文件在哪里?
EN

Stack Overflow用户
提问于 2016-08-07 21:00:39
回答 1查看 827关注 0票数 0

我在运行一个码头容器进程时:

代码语言:javascript
运行
复制
host$ docker run -it <image> /etc/bootstrap.sh -bash

然后在容器内部创建了一个文件/a.txt:

代码语言:javascript
运行
复制
container$ echo "abc" > /a.txt
container$ cat a.txt
abc

我注意到/是none的文件系统类型:

代码语言:javascript
运行
复制
container$ df -h
Filesystem      Size  Used Avail Use% Mounted on
none            355G   19G  318G   6% /
tmpfs           1.9G     0  1.9G   0% /dev
...

检查命令显示卷为空。

代码语言:javascript
运行
复制
host$ docker inspect <image>
...
"Volumes": null,
...

退出容器进程并重新启动后,文件就消失了。我想了解: 1)容器进程的根文件系统实际上是什么;2)如何持久化新创建的文件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-08 01:28:23

Q:在退出容器进程并重新启动后,文件消失了。

A:不会持久化码头容器中的数据。也就是说,当容器重新启动时,您丢失了所有的东西。

Q:容器进程的根文件系统实际上是什么?

A:并不真正理解这个问题,但我想您是在问root用户的主目录在哪里?如果是的话,那么root的家在/root

Q:如何持久化新创建的文件?

A:,如果您打算在重新启动容器之后保持更改,那么您将需要使用data volume

请参阅:https://docs.docker.com/engine/tutorials/dockervolumes/

本质上,在启动容器时,您可以传入-v选项,告诉容器您希望将目录从主机的文件系统映射到容器的目录。

即通过执行下面的示例命令,$ docker run -d -P --name web -v $(pwd):/root

您将希望将当前工作目录映射到容器的/root目录。因此,所有东西都会被写入容器的/root/区域,然后反映到主机的文件系统中,并被持久化。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38818512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档