我制作了.net核心WebApi,并通过Visual Studio docker支持将docker添加到其中。
通过Visual Studio的“运行”选项运行容器可以正常工作。 我想做的是通过批处理运行此容器,这样我就可以访问我的应用程序,而不必在Visual Studio中运行它(这样它就可以一直运行),但是这样做有些麻烦。
为此,我正在关注本教程https://docs.docker.com/engine/examples/dotnetcore/ 我已经尝试过更改端口一百万次,但没有成功。我还在线搜索了我的问题,但找不到任何东西。
我还尝试过从.net核心应用程序中的配置中删除sslport,但是当我这样做时,该应用程序将不再通过Visual Studio中的docker运行。
我用来在计数器上运行图像的命令是: docker run -it -d -p 65117:80 apiwithjwt:dev
我期望的是,如果我浏览端口65117,将会看到我的Web应用程序。
当我键入时:docker container ls。这是我看到的: https://imgur.com/a/RQUxowb 在顶部,您可以看到我的容器由Visual Studio自动制作,在底部,您可以看到我用上面的命令创建的容器。如您所见,似乎我添加的端口缺少某些内容。 我的端口来自launchsettings.json
中的此设置 {
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:65118",
"sslPort": 44335
}
},
如何通过bash命令传递sslPort?或者,如何从.net核心应用程序中删除sslPort并仍然使其正确运行。 当前结果:什么都没看我何时去港口。
答案 0 :(得分:0)
对于由VS创建的运行映像,您需要以Release
模式构建映像,请参考How to run docker image produced by VS 2017。
您可以使用以下步骤的命令来构建图像:
Dockerfile
的文件夹的父文件夹docker build -f "DockerTest/Dockerfile" -t dockertest:test .
docker run -it -d -p 65119:80 dockertest:test