【发布时间】:2017-01-11 08:11:45
【问题描述】:
我正在尝试在 Docker 容器中运行我的 ASP.NET Core 1.1 Web API,但我无法从浏览器或curl 连接到 Web API。为了排除故障,我还启动了标准的 nginx 和 Apache httpd 容器,也无法连接到这些容器,所以我认为这是 Docker/Docker Toolbox/配置问题,而不是我的应用程序的问题。
我将专注于我对 nginx 和 Apache 所做的工作:
我在 Windows 7 Professional 上运行 Docker Toolbox,一切似乎都如我所愿。
- Docker 命令都按预期工作
- 我可以访问底层的 Windows 文件系统
- 我可以从
curl http://localhost获得预期结果(如果我在 Windows 7 上启动默认 IIS 网站)
所以现在我关闭 IIS 并在容器中运行 nginx:
$ docker run -d -p 80:80 nginx
45bb1f373c11b820d8431de3eb3bf222d57d412de53e8625f461b62c4279e644
Docker 现在显示 nginx 正在运行:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
45bb1f373c11 nginx "nginx -g 'daemon off" 47 seconds ago Up 48 seconds 0.0.0.0:80->80/tcp, 443/tcp admiring_pike
但我无法连接curl(在 Docker 工具箱命令提示符内)或 Windows 中的网络浏览器:
$ curl http://localhost
curl: (7) Failed to connect to localhost port 80: Connection refused
如果我运行 Apache 2.4 (httpd) 容器,我会得到完全相同的结果。
有什么想法吗?谢谢!彼得
【问题讨论】:
标签: nginx asp.net-core .net-core docker-toolbox