我在Windows上运行Docker工具箱,使用Virtualbox运行。
我可以运行一个容器并在我的Windows机器上共享一个文件夹,我称之为DockerShare,它已被添加为"共享文件夹"到虚拟机器。
此命令正常工作:
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无法为服务api创建容器:create \ DockerShare \ api:" \ DockerShare \ api"包括无效字符 本地卷名,只有" [a-zA-Z0-9] [a-zA-Z0-9 _.-]"允许
错误:启动项目时遇到错误。
我是从ssh中的Dockershare文件夹运行的。
这应该有用吗?我该如何格式化音量字符串?
答案 0 :(得分:1)
实际上它可以正常工作。但是,需要确保正确设置环境。 Docker-compose会尝试乱用地址。
只需在与docker-compose.yml文件相同的目录中创建一个名为“.env”的文件,其中包含以下行:
COMPOSE_CONVERT_WINDOWS_PATHS=0
意味着它运作良好。