gpt4 book ai didi

docker - Docker:新创建的文件在/下存储在哪里?

转载 作者:行者123 更新时间:2023-12-02 21:25:41 24 4
gpt4 key购买 nike

我正在使用以下命令运行Docker容器进程:

host$ docker run -it <image> /etc/bootstrap.sh -bash

然后在容器内部,我创建了一个文件/a.txt:
container$ echo "abc" > /a.txt
container$ cat a.txt
abc

我注意到/的文件系统类型为none:
container$ df -h
Filesystem Size Used Avail Use% Mounted on
none 355G 19G 318G 6% /
tmpfs 1.9G 0 1.9G 0% /dev
...

检查命令显示卷为空。
host$ docker inspect <image>
...
"Volumes": null,
...

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

最佳答案

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

答: Docker容器中的数据未持久。那就是当该容器重新启动时,您丢失了所有内容。

问:容器进程的根文件系统实际上是什么?
答:并不是很了解这个问题,但是我想您是在问root用户的主目录在哪里?如果是,那么root的家位于/root

问:如何保存新创建的文件?
答:如果即使在重新启动容器后仍要保留更改,则将需要使用docker的data volume

看到:
https://docs.docker.com/engine/tutorials/dockervolumes/

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

通过执行以下示例命令,$ docker run -d -P --name web -v $(pwd):/root
您将希望将当前的工作目录映射到容器的/root目录。因此,所有写入容器的/root/区域的内容都会反射(reflect)到主机的文件系统中,并且将其持久化。

关于docker - Docker:新创建的文件在/下存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38818512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com