Apache httpd 在 运行 docker 图像时表现不正常

Apache httpd not behaving properly when running docker image

环境:

- Docker version 1.6.2, build ba1f6c3/1.6.2
- Centos 7
- apache httpd 2.4.6

我已经创建了 apache httpd 的 docker 映像。里面有一个简单的 shell 脚本可以启动 httpd 服务器。 我的开始-httpd.sh

httpd -k start
#to keep process running
tail -f /dev/null

现在我复制到 docker 图像的配置与我 运行 在我的主主机上的配置相似。

负载均衡器的示例配置:

 <VirtualHost localhost:8000>
    ServerName localhost
    ProxyRequests off
    ProxyPreserveHost on
    ErrorLog logs/error_domain.log
    SetHandler balancer-manager

 <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
<Location /balancer-manager>
       SetHandler balancer-manager
       Order allow,deny
       Allow from all
</Location>
    <Proxy balancer://idp>
        BalancerMember http://punvm-core05.sigmasys.net:9091
        BalancerMember http://punvm-core06.sigmasys.net:8091 status=+H
        #ProxySet lbmethod=byrequests
        ProxySet lbmethod=bytraffic
    </Proxy>
   ProxyPass /homepage balancer://idp   
   ProxyPassReverse /homepage  balancer://idp
   ProxyPass /assets  balancer://idp/assets   
   ProxyPassReverse /assets  balancer://idp/assets
   ProxyPass /saml-idp   balancer://idp/saml-idp   
   ProxyPassReverse /saml-idp  balancer://idp/saml-idp
</VirtualHost>

现在这就是我 运行 docker 图片的方式,

docker run  -d -p 10000:8000 auth/loadbalancer /home/start-httpd.sh

我可以访问 http://localhost:10000 但我期望的页面不同

附上预期和意外的 httpd 服务器页面的快照

预期图像,这是来自我的主机:

访问映射到 docker 内端口的 apache 时出现意外图像,如上述 docker

命令中所述

此外,当我登录到容器并执行 curl 命令时,作为响应,我可以看到负载均衡器页面,但从容器外部我看到了意外图像的响应。

请说明为什么会这样,我是不是遗漏了什么。

我可以解决这个问题。 我不得不 运行 这样命令,

docker run  -d --net=host auth/loadbalancer /home/start-httpd.sh

所以我在这里不需要任何端口映射,所有的翻译内部容器都是在使用它时自动完成的。