我正在使用Windows Docker运行Windows容器。我使用Visual Studio容器编排来生成docker-compose,当前我的docker-compose.override.yml如下所示:
version: '3.4'
services:
test:
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=https://+:443;http://+:80
- ASPNETCORE_HTTPS_PORT=44308
ports:
- "50132:80"
- "44308:443"
volumes:
- C:\directory:C:\directory:ro
networks:
default:
external:
name: nat
无论我尝试什么,启动docker debug配置文件时都无法将目录挂载到容器。我已经尝试过正斜杠和反斜杠,相对路径,其他目录等。
docker run -it -v C:\directory:C:\directory test cmd
目录已正确安装。
我可以观看Visual Studio的docker-compose up
输出,并看到它正在安装remote_debugger和.nuget以及其他内容,并且它表明C:\directory
也正在安装。如果我连接到容器,则所有自动安装的卷都在那里,但不是我的。
我还尝试了卷的扩展格式,如下所示:
volumes:
- type: bind
source: C:\directory
target: C:\directory
那里也没有运气。
那我做错了什么?我觉得Visual Studio在某种程度上可能是罪魁祸首,因为唯一挂载的卷是VS在幕后神奇执行的操作。
答案 0 :(得分:0)
以下代码对我来说没有问题。检查它是否适合您
services:
test:
image: microsoft/windowsservercore:1803
volumes:
- type: bind
source: d:\test
target: c:\directory
command: ["cmd", "/c", "dir", "c:\\directory"]
networks:
default:
external:
name: nat