无法在现有文件上挂载卷,文件存在
我试图在Docker中为我的应用程序构建一个数据容器。 我运行这个命令来公开一些卷:
docker run --name svenv.nl-data -v /etc/environment -v /etc/ssl/certs -v /var/lib/mysql -d svenv/svenv.nl-data
问题是我从这个命令得到这个错误:
Error response from daemon: cannot mount volume over existing file, file exists /var/lib/docker/aufs/mnt/aefa66cf55357e2e1e4f84c2d4d2d03fa2375c8900fe3c0e1e6bc02f13e54d05/etc/environment
如果我正确理解Docker文档。 为单个文件创建卷是受支持的。 所以我不明白为什么我会得到这个错误。
有人可以向我解释这个吗? 我在Ubuntu 14.04上运行Docker 1.9.1。
你应该使用
-v /etc/environment:/etc/environment
代替
-v /etc/environment
前者将容器卷映射到主机卷。 后者试图在/ etc / environment创建一个新卷,并失败,因为该目录已经存在
我猜是因为你没有安装文件,而是声明了一个挂载。 请尝试使用这种符号: -v <full path to a file you want to overwrite the target with>:/etc/environment
假设你在Linux下,运行下面的代码
docker run -it --rm -v /local_dir:/image_root_dir/mount_dir image_name
这里有一些细节:
-it: interactive terminal
--rm: remove container after exit the container
-v: volume or say mount your local directory to a volume
由于挂载功能会“覆盖”图片中的目录,因此您应该始终在图片根目录下创建一个新目录。
访问官方文档使用绑定挂载获取更多信息。
链接地址: http://www.djcxy.com/p/88947.html上一篇: cannot mount volume over existing file, file exists
下一篇: How to count pymongo aggregation cursor without iterating