Dan*_*rps 5 asp.net-web-api docker .net-core asp.net-core
我正在尝试使用我在 dotnet core 中编写的小型 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"]
Run Code Online (Sandbox Code Playgroud)
我正在像这样构建dontainer:
docker build -t api-test:v0 .
Run Code Online (Sandbox Code Playgroud)
并使用以下命令运行它:
docker run -p 5000:5000 api-test:v0
Run Code Online (Sandbox Code Playgroud)
运行命令的输出是:
Hosting environment: Production
Content root path: /app
Now listening on: http://localhost:5000
Run Code Online (Sandbox Code Playgroud)
我还尝试了不同的 URL 绑定方法:
http://+:5000, http://0.0.0.0:5000, http://localhost:5000, ...--urls/--server.urls但没有成功。有没有人看到我做错了什么或错过了什么?
Now listening on: http://localhost:5000
Run Code Online (Sandbox Code Playgroud)
绑定到 localhost 将不适用于您的场景。您需要将应用程序绑定到 0.0.0.0 才能使 docker 端口转发正常工作。完成此操作后,您应该能够访问虚拟机 IP、端口 5000 上的应用程序
| 归档时间: |
|
| 查看次数: |
2599 次 |
| 最近记录: |