我正在尝试基于docker在docker上发布web api .
我正在使用具有以下内容的docker文件:
来自microsoft / dotnet COPY . / dotnetapp WORKDIR / dotnetapp RUN dotnet restore EXPOSE 5000 ENTRYPOINT dotnet run
我可以构建和运行图像,但我无法访问web api .
好像你必须指定Kestrel将侦听哪个URL,否则它将不接受同一容器外的任何连接 .
所以你的ENTRYPOINT应该是这样的
ENTRYPOINT ["dotnet", "run", "--server.urls=http://0.0.0.0:5000"]
包含-server.urls参数对于允许来自外部容器的入站连接至关重要 . 如果没有,Kestrel将拒绝任何不是来自容器的连接,这些连接不是很有用......
参考https://www.sesispla.net/blog/language/en/2016/05/running-asp-net-core-1-0-rc2-in-docker/
1 回答
好像你必须指定Kestrel将侦听哪个URL,否则它将不接受同一容器外的任何连接 .
所以你的ENTRYPOINT应该是这样的
参考https://www.sesispla.net/blog/language/en/2016/05/running-asp-net-core-1-0-rc2-in-docker/