Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在docker compose中装载主机Vm_Docker_Docker Compose_Docker Volume - Fatal编程技术网

在docker compose中装载主机Vm

在docker compose中装载主机Vm,docker,docker-compose,docker-volume,Docker,Docker Compose,Docker Volume,我想将Docker for Windows中的主机vm装载到我的容器中(用于备份)。我发现了一篇关于它的短文,上面写着“跑步” docker container run --rm -it -v /:/host alpine 这样做。我试过了,效果很好。现在我想把它放到docker compose文件中。然而 volumes: - / :/host:ro 不起作用。我没有收到错误消息,文件夹只是空的。冒号前面的空格是必要的,没有它我就出错了 有人知道如何在docker compose中设置

我想将Docker for Windows中的主机vm装载到我的容器中(用于备份)。我发现了一篇关于它的短文,上面写着“跑步”

docker container run --rm -it -v /:/host alpine
这样做。我试过了,效果很好。现在我想把它放到docker compose文件中。然而

volumes:
  - / :/host:ro
不起作用。我没有收到错误消息,文件夹只是空的。冒号前面的空格是必要的,没有它我就出错了


有人知道如何在docker compose中设置此功能吗?

只需按照您在docker run上的方式编写,不要在目录之间留出任何空间

volumes:
   - /:/host:ro

但是对于
:ro
docker不会向其写入任何内容,只会读取目录的内容。如果您想写,请删除
:ro

谢谢您的回复。ro将其设置为只读。这不起作用,至少在Windows上不起作用。当冒号前面没有空格时,无论是否有ro,我都会得到“无效卷规范:'/host\u mnt/host:rw”。正如我在问题和评论中所说,删除空格会导致错误。请尝试使用双引号:
-“/:/host”
相同错误:“无效卷规范:'/host\u mnt/host:ro'”查看是否是您的问题-Dockerfile。