【发布时间】:2018-10-09 18:10:57
【问题描述】:
我为 .NET core 创建了一个镜像:
FROM microsoft/dotnet:2.1-sdk AS build-env
WORKDIR /app
EXPOSE 80 443 5000 5001 5010 5011 7000 22676
#ENTRYPOINT [ "bash"]
CMD ["bash"]
我从它运行一个容器
docker container run -it --publish 5000:8018 --name versie3001 -v //c/tijd/mount:/app michel03
顺利的是我看到了挂载的文件。
当我使用 dotnet new razor 创建一个新网站并使用 dotnet run 运行它时,它会尝试在端口 5000/5001(默认端口)上运行,但出现此错误:
warn: Microsoft.AspNetCore.Server.Kestrel[0]
Unable to bind to https://localhost:5001 on the IPv6 loopback interface: 'Cannot assign requested address'.
warn: Microsoft.AspNetCore.Server.Kestrel[0]
Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'.
其实它说的是warn,但是结果是一样的,当我去localhost:8018我没有得到任何结果(ERR_CONNECTION_REFUSED)
我在这里做错了什么?
我看到一个答案说我应该在我的容器文件中这样做:
ENTRYPOINT [ "dotnet", "watch", "run", "--no-restore", "--urls", "https://0.0.0.0:5000"]。它没有给我错误(输出为Now listening on: https://0.0.0.0:5000),这很好,但它也没有从我本地机器上的https://localhost:8018 连接。
【问题讨论】: