最初我用的是
Visual Studio 2017 Tools for Docker
因为这是早期版本的visual studio在向asp.net添加docker支持时的默认设置。
最近我升级到了visual studio 2017 15.8.0预览版2,我注意到有一种全新的方法可以使用
launchSettings.json
.
旧的方式有一个特别的
*.dcproj
whos项目的sdk属性指向
<Project Sdk="Microsoft.NET.Sdk.Web">
. 在这个项目中,有一个
docker-compose.yml
和A
docker-compose.override.yml
指向我的asp.net的
Dockerfile
. 这是非常灵活的允许我做大量的定制,如添加卷装载如下。
docker-compose.override.yml:
version: '3.5'
services:
sample.container:
volumes:
- type: bind
source: C:\config
target: /config
read_only: true
volume:
nocopy: true
这很好,因为它允许我轻松地指向调试期间不在容器中的配置文件。
现在使用visual studio中的新docker工具
launchsettings.json启动设置
和
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="0.2.1686908" />
在
*.csproj
文件组合文件不再使用,它将启动
停靠文件
直接的。下面是我的
launchsettings.json启动设置
.
我真的希望有人能告诉我如何添加一个自定义卷挂载到
launchsettings.json启动设置
文件,请参阅
Docker
下面一节。
launchSettings.json:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:55836",
"sslPort": 44354
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"WebApplication1": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "https://localhost:5001;http://localhost:5000"
},
"Docker": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://localhost:{ServicePort}"
}
}
}
我还想说,我已经找了几个小时这个问题的解决方案,但我还没有找到任何关于这个问题的信息。