我有Windows 10 Home,因此也安装了Docker Toolbox,因此在VirtualBox VM上运行我的容器。
这个来自Docker文档的示例非常完美:
我在VM上设置了端口转发,以便将本地主机上的8000映射到来宾计算机上的8080,使用来启动容器
docker container run --rm --detach -p 8000:8080 <image name>
,可以通过在主机上的浏览器中访问192.168.99.100:8000来访问该站点,或者在命令行中卷曲。没问题。
但是,每当我尝试以相同的方式将ASP.NET Core网站放入容器中时,我都无法访问它,却不断收到404。
我以为我的Dockerfile中缺少一些东西(即使映像成功构建),因此,为了消除这种情况,我想尝试从此处尝试几个预先创建的映像:
https://docs.docker.com/get-started/part2/
同样,控制台应用程序运行正常,但再次找不到该网站(我将-p
参数更改为8000:8080以匹配我设置的内容)。
我不知所措以了解这里的问题所在。
答案 0 :(得分:0)
最后,这通过添加来解决
.UseUrls("http://*:8080")
添加到Program.CreateWebHostBuilder
方法中,然后添加
ENV ASPNETCORE_URLS=http://+:8080
EXPOSE 8080
到Dockerfile,如下所示:https://stackoverflow.com/a/40836125/3170822