【发布时间】:2016-07-31 13:33:43
【问题描述】:
我一直在关注this tutorial for beginners about docker,它基本上指示您创建一个 apache 容器并将 localhost 端口映射到容器上的端口。 当我尝试 localhost:80 时,它没有连接,尽管容器已启动并正在运行。 我什至在防火墙中做了一个规则,允许连接到端口 80,但无法连接到 localhost。
有什么想法吗?
【问题讨论】:
-
命令
docker logs CONTAINER_ID显示什么? -
@mainframer 之前不知道这个,它显示“AH00558: apache2: 无法可靠地确定服务器的完全限定域名,使用 172.17.0.3。全局设置 'ServerName' 指令以抑制此消息”
-
先尝试修复这个 apache 问题。显然 apache 希望你设置一个 ServerName。使用命令
docker exec -it CONTAINER_ID /bin/bash进入您的容器,然后按照本文修复该问题:thomas.vanhoutte.be/miniblog/fix-apache-error-ah00558 -
您使用的是 Windows 还是 Mac OS X?如果是这样,您需要的地址是 192.168.99.100:80,而不是 localhost。
-
在 Windows/OS X 上,Docker 在默认 IP 地址为 192.168.99.100 的 Linux 虚拟机(Docker Toolbox)中运行。 172.17.0.3 地址是该虚拟机 inside 的 docker 容器的地址。端口绑定会将端口绑定到虚拟机,而不是 Windows。