如何在Docker-Compose中安装Virtualbox共享卷

我在Windows上运行Docker工具箱,使用Virtualbox来运行。

我可以运行一个容器,并在我称为DockerShare的Windows计算机上共享一个文件夹,并将其作为“共享文件夹”添加到虚拟机中。

这个命令工作正常:

docker run -it --name api -p 8802:80 -v /DockerShare/api:/app microsoft/aspnetcore-build:latest 

我想用docker-compose脚本来做到这一点:

 version: '2' services: api: image: microsoft/aspnetcore-build:latest container_name: api ports: - "8802:80" volumes: - /DockerShare/api:/app 

但是这会返回一个错误

错误:对于api无法创build服务api的容器:create \ DockerShare \ api:“\ DockerShare \ api”包含本地卷名的无效字符,只有“[a-zA-Z0-9] [a-zA-Z0- 9 _.-]“是允许的

错误:提出项目时遇到错误。

我从ssh中的Dockershare文件夹运行这个。

应该这样工作吗? 我应该如何格式化音量string?

事实上,它的工作原理是这样的。 但是需要确保环境设置正确。 Docker-compose将尝试在其他地方弄乱地址。

只需在docker-compose.yml文件所在的同一目录下创build一个名为“.env”的文件,使用下面一行:

 COMPOSE_CONVERT_WINDOWS_PATHS=0 

意味着它工作正常。