我正在尝试Docker与我在dotnet核心中编写的小型WebApi。.Net核心WebApi拒绝在Docker容器中的连接
该Api似乎工作正常,因为当我运行它与dotnet run
它启动正常,并可以在端口5000.但是,当我运行它在一个Docker容器它启动,但我无法达到它的暴露/映射端口。我使用VirtualBox在Windows 10上运行Docker。
我Dockerfile看起来是这样的:
FROM microsoft/aspnetcore-build:latest
COPY . /app
WORKDIR /app
RUN dotnet restore
EXPOSE 5000
ENV ASPNETCORE_URLS http://*:5000
ENTRYPOINT ["dotnet", "run"]
我建立了dontainer这样的:
docker build -t api-test:v0 .
而与此命令来运行它:
docker run -p 5000:5000 api-test:v0
的输出运行命令是:
Hosting environment: Production
Content root path: /app
Now listening on: http://localhost:5000
我自己也尝试结合的URL不同的方法:
- 作为
http://+:5000
,http://0.0.0.0:5000
,http://localhost:5000
,... - 通过CLI参数
--urls
/--server.urls
但没有成功。有没有人看到我做错了或失踪?
你的操作系统是什么?它是Windows/OSX或Linux? – pizycki
我忘了提。它运行在Windows上......我在 –
运行docker inspect -f {{range .NetworkSettings.Networks}} {{。IPAddress}} {{end}}'“的问题中更新了它的IP。用IP替换'localhost'。看看是否有效。 –
pizycki