我想将主机数据卷安装到docker.但是容器应该对其具有读写权限,与此同时,对数据卷的任何更改都不应影响主机中的数据.
我可以想象一个将多个数据卷装载到单个文件夹的解决方案,一个是只读的,另一个是读写的.但是在我的命令中只有第二个“ -v”有效,
docker run -ti --name build_cent1 -v /codebase/:/code:ro -v /temp:/code:rw centos6:1.0 bash
最佳答案
通常,在这种情况下,我认为您将文件夹添加到Docker映像中,以便任何运行该文件夹的容器都将其包含在其(可写)文件系统中,但写入将进入另一个层.
您需要在要使用的文件夹上方的文件夹中编写一个Dockerfile,该文件夹应如下所示:
FROM my/image
ADD codebase /codebase
然后使用docker build -t some-name< path>来构建容器.这些步骤可以添加到应用程序的构建脚本中(也许您会在此找到一些插件来提供帮助).然后,您可以docker运行some-name.
缺点是只能做一个副本并创建映像,但是如果您启动许多容器,它们将以只读方式共享该层的同一副本,并将它们自己的修改写入上面的独立层.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。