Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在docker中托管后无法访问.net核心api URL_Docker_Asp.net Core_Windows 10 - Fatal编程技术网

在docker中托管后无法访问.net核心api URL

在docker中托管后无法访问.net核心api URL,docker,asp.net-core,windows-10,Docker,Asp.net Core,Windows 10,我有一张VS2017。dotnetcore2.1 我的是安装了Windows 10和Docker for Windows。 Windows版本为10.0.16299.904 客户端和服务器的Docker版本均为community 18.09.0 我只是在启用Docker复选框的情况下创建了一个新文件->新建->项目->.Net核心->Asp.Net核心Web应用程序->Api 在没有做任何更改的情况下,我构建了它,并尝试在IIS Express和Docker中运行它,默认情况下,它将/api/v

我有一张VS2017。dotnetcore2.1 我的是安装了Windows 10和Docker for Windows。 Windows版本为10.0.16299.904 客户端和服务器的Docker版本均为community 18.09.0

我只是在启用Docker复选框的情况下创建了一个新文件->新建->项目->.Net核心->Asp.Net核心Web应用程序->Api

在没有做任何更改的情况下,我构建了它,并尝试在IIS Express和Docker中运行它,默认情况下,它将/api/values控制器响应显示为值

现在在ps提示符下,我可以看到图像,并创建了相应的容器

docker ps上的一个命令,它列出了端口为1598->80/tcp的正在运行的容器

我使用docker inspect列出json和ip,显示为172.22.74.213

我曾访问我的api,但出现以下错误:

使用docker inspect表示容器正在运行。
我是否使用了错误的URL访问api?

是的,您使用了错误的IP。只需点击
http://localhost:1598/api/values
因为Docker for Windows不会(默认)为公开端口绑定到不同的IP

编辑 另外,请确保在运行容器时实际公开了端口。另请查看允许任何主机名从以下位置连接的dotnet API的详细信息:

检查启动映像时是否正在打开端口:

docker run-it-p 5000:5000

这将打开实例内的端口5000,以在您的主机上打开端口
5000
本地计算机,然后应可在
127.0.0.1:5000上访问,或
localhost:5000

您还应该确保您正在接受中的任何主机名
Main()
Program.cs
中,在
WebHostBuilder


在您的情况下,您将需要此端口绑定:
1598:80

这与由
VS 2017
构建的映像相关

试着建立自己的形象

D:\xx\TestPro>docker build -f DockerTestPro/dockerfile -t docker0115 .
然后运行容器

docker run -it -p 8066:80 docker0115

然后,通过
http://localhost:8066/

您是否尝试过使用localhost:1598?您的意思是或。我在chrome浏览器中尝试了这两种方法。我的意思是在末端使用路径,所以
http://localhost:1598/api/values
。这有用吗?我在chrome浏览器中尝试了这两个url。docker run-d--restart=always-p 1598:80 WebApplication1同样,请参见,这可能与您的问题有关。我不能完全确定细节。