如何解决远程docker-compose已停止,因为Visual Studio使用本地卷
我想在远程 docker(撰写)服务上从Visual Studio 2019启动docker-compose
项目。因此,当我手动docker run <container>
或docker-compose up
启动时,我创建了用于远程访问的新docker上下文,一切正常,并在远程服务上执行。
问题是从Visual Studio 2019开始.netcore web services
。在调试模式下,它会附加一些附加的撰写文件docker-compose.vs.debug.g.yml
,请参阅生成输出
docker-compose -f "C:\Projects\FoxTail\docker-compose.yml" -f "C:\Projects\FoxTail\docker-compose.override.yml" -f "C:\Projects\FoxTail\obj\Docker\docker-compose.vs.debug.g.yml" -p dockercompose15208407249301123379 --no-ansi up -d --build --force-recreate --remove-orphans
该文件包含设置为本地路径的卷-不是远程路径。 Corse的远程服务不能向该容器倾斜。 docker-compose.vs.debug.g.yml
的竞争对手是
version: '3.4'
services:
foxtail:
image: foxtail:dev
container_name: FoxTail
build:
target: base
labels:
com.microsoft.created-by: "visual-studio"
com.microsoft.visual-studio.project-name: "FoxTail"
environment:
- DOTNET_USE_POLLING_FILE_WATCHER=1
- ASPNETCORE_LOGGING__CONSOLE__DISABLECOLORS=true
- NUGET_FALLBACK_PACKAGES=/root/.nuget/fallbackpackages
volumes:
- C:\Projects\FoxTail\FoxTail:/app
- C:\Projects\FoxTail:/src
- C:\Users\krstic\vsdbg\vs2017u5:/remote_debugger:rw
- C:\Users\krstic\.nuget\packages\:/root/.nuget/packages:ro
- C:\Program Files\dotnet\sdk\NuGetFallbackFolder:/root/.nuget/fallbackpackages:ro
- ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
- ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro
entrypoint: tail -f /dev/null
labels:
com.microsoft.visualstudio.debuggee.program: "dotnet"
com.microsoft.visualstudio.debuggee.arguments: " --additionalProbingPath /root/.nuget/packages --additionalProbingPath /root/.nuget/fallbackpackages \"/app/bin/Debug/netcoreapp3.1/FoxTail.dll\""
com.microsoft.visualstudio.debuggee.workingdirectory: "/app"
com.microsoft.visualstudio.debuggee.killprogram: "/bin/sh -c \"if PID=$$(pidof dotnet); then kill $$PID; fi\""
tty: true
trainer:
image: trainer:dev
container_name: Trainer
build:
target: base
labels:
com.microsoft.created-by: "visual-studio"
com.microsoft.visual-studio.project-name: "Trainer"
environment:
- DOTNET_USE_POLLING_FILE_WATCHER=1
- ASPNETCORE_LOGGING__CONSOLE__DISABLECOLORS=true
- NUGET_FALLBACK_PACKAGES=/root/.nuget/fallbackpackages
volumes:
- C:\Projects\FoxTail\Trainer:/app
- C:\Projects\FoxTail:/src
- C:\Users\krstic\vsdbg\vs2017u5:/remote_debugger:rw
- C:\Users\krstic\.nuget\packages\:/root/.nuget/packages:ro
- C:\Program Files\dotnet\sdk\NuGetFallbackFolder:/root/.nuget/fallbackpackages:ro
- ${APPDATA}/ASP.NET/Https:/root/.aspnet/https:ro
- ${APPDATA}/Microsoft/UserSecrets:/root/.microsoft/usersecrets:ro
entrypoint: tail -f /dev/null
labels:
com.microsoft.visualstudio.debuggee.program: "dotnet"
com.microsoft.visualstudio.debuggee.arguments: " --additionalProbingPath /root/.nuget/packages --additionalProbingPath /root/.nuget/fallbackpackages \"/app/bin/Debug/netcoreapp3.1/Trainer.dll\""
com.microsoft.visualstudio.debuggee.workingdirectory: "/app"
com.microsoft.visualstudio.debuggee.killprogram: "/bin/sh -c \"if PID=$$(pidof dotnet); then kill $$PID; fi\""
tty: true
生成的输出是:
1>Creating dockercompose15208407249301123379_postgres_db_1 ...
1>Creating dockercompose15208407249301123379_postgres_db_1 ... done
1>Creating Trainer ...
1>Creating FoxTail ...
1>Creating Trainer ... error
1>ERROR: for Trainer Cannot create container for service trainer: invalid volume specification: 'C:\Projects\FoxTail\Trainer:/app:rw'
1>Creating FoxTail ... error
1>ERROR: for FoxTail Cannot create container for service foxtail: invalid volume specification: 'C:\Users\krstic\AppData\Roaming\ASP.NET\Https:/root/.aspnet/https:ro'
1>ERROR: for trainer Cannot create container for service trainer: invalid volume specification: 'C:\Projects\FoxTail\Trainer:/app:rw'
1>ERROR: for foxtail Cannot create container for service foxtail: invalid volume specification: 'C:\Users\krstic\AppData\Roaming\ASP.NET\Https:/root/.aspnet/https:ro'
如您所见,数据库容器创建良好,但是.netcore
服务分别称为Trainer
和Foxtail
否。有什么方法可以正确设置这些音量?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。