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