Docker 和卷 nocopy

标签 docker volume mount

我想从我的主机挂载一个目录到一个 Docker 容器,我想在容器内部做一些修改。但是,当我修改挂载点上的内容时,更改也会反射(reflect)在主机上。

例如:

$ docker run -d --name webserver01 -v /home/guest/app:/app

之后我在/app 中的容器内进行了一些更改
$ docker exec -ti webserver01 'touch /app/test.txt'

文件 test.txt 是在我的主机和容器内创建的(这个想法是只在容器内创建文件)

我尝试使用标志 nocopy但我有这个错误:
$ docker run -d --name webserver01 -v /home/guest/app:/app:nocopy
docker: Error response from daemon: Invalid bind mount spec "/home/guest/app:/app:nocopy": invalid mode: nocopy.

docker 版本
$ docker --version
Docker version 1.11.1, build 5604cbe/1.11.1

谢谢您的帮助!

最佳答案

可能有一些方法可以隐藏文件,但是对于 Docker 卷,您描述的内容是不可能的,因为容器上的目录是主机上目录的安装,而不是正在复制的文件。
nocopy修饰符用于当您创建卷并且数据已存在于容器的路径中时,您可以指定是否要在创建卷时复制该数据。

您可能需要设计一个卷结构,以便您创建的文件不在共享卷上。

关于Docker 和卷 nocopy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38287388/

相关文章:

docker - Dockerfile 中未设置环境变量

docker - 如何在Dockerfile中的CMD或ENTRYPOINT中运行两个命令

python - 如何使用 python 更改我的不和谐机器人的音量?

azure - 使用 dbutils.fs.mount 和 dbutils.secrets.get 将 Azure Blob 存储安装到 Databricks 时出现错误 "String is not a valid Base64-encoded string"

docker - 无法启动和运行 docker 镜像

docker - 在 dind 中从 armhf/ubuntu 构建时,回显 docker 文件中的文件失败

android - 处理安卓锁屏上的音量变化?

iphone - 将声音添加到 iPhone 应用程序的标准方法(全局音量指示器)

C Linux 检查挂载空间

ruby-on-rails - 如何使用 'A' Rails 应用程序。来自 'B' 应用程序的数据库