gpt4 book ai didi

docker - 我可以在写入/覆盖时挂载 docker 主机目录作为副本吗?

转载 作者:IT老高 更新时间:2023-10-28 12:37:38 25 4
gpt4 key购买 nike

我想在 docker 中挂载一个主机目录,该目录在外部实际上是只读的。但我希望它以读/写的形式出现在容器内。

这样文件/目录可以写入但不能在外部更改。这可能使用某种覆盖过程吗?

最佳答案

编辑:查看@javabrett 的评论:

Upvoted despite this solution having a sunset. See answer regarding overlay-upperdir-on-overlay being disabled on 4.8 kernels and newer.

见:https://stackoverflow.com/a/50917037/644504


这就是我的工作:

在主机上:

将目录加载为只读。

docker run --privileged -v /path/on/host:/path/on/client-read-only:ro -it ubuntu /bin/bash

在客户端:

在客户端使用 OverlayFS 覆盖从主机挂载的只读目录。

mount -t overlayfs none -o lowerdir=/path/on/client-read-only,upperdir=/path/on/client /path/on/client

然后使用 /path/on/client 读取/写入文件。

编辑:如果您的主机上有 3.18+ 内核,您可能更喜欢在客户端上使用它:

mount -t overlay overlay -o lowerdir=/path/on/client-read-only,upperdir=/path/on/client,workdir=/path/on/client-workdir /path/on/client

这不是 overlayfs。使用 overlayfs 我遇到了无法使用 rm 的问题。 overlay 为我解决了这个问题。

关于docker - 我可以在写入/覆盖时挂载 docker 主机目录作为副本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29550736/

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