Docker容器内的ManageIQ Web应用程序无法连接到Hawkular外部容器

时间:2017-03-10 11:59:29

标签: ssl docker manageiq

我使用监控应用程序" ManageIQ"在具有ssl端口的Docker容器中检查应用程序" hawkular"它位于Docker容器外部。以下是docker命令:

docker pull manageiq/manageiq:euwe-2
docker run --privileged -d -p 8443:443 manageiq/manageiq:euwe-2

我在" ManageIQ"中配置了ssl设置。泊坞容器

 docker exec -ti "container-id" bash –l

 [root@17a6a6bd8743 vmdb]# vi /etc/httpd/conf.d/ssl.conf
 ServerName localhost:8443
 SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2
 SSLCertificateFile /opt/manageiq/manageiq-ui-service/node_modules/browser-sync/lib/server/certs/server.crt
 SSLCertificateKeyFile /opt/manageiq/manageiq-ui-service/node_modules/browser-sync/lib/server/certs/server.key
 [root@17a6a6bd8743 vmdb]# systemctl restart httpd 
 [root@17a6a6bd8743 vmdb]# yum install firewalld -y
 [root@17a6a6bd8743 vmdb]# systemctl start firewalld
 [root@17a6a6bd8743 vmdb]# systemctl enable firewalld
[root@17a6a6bd8743 vmdb]# firewall-cmd --add-service=https --permanent 
 success
[root@17a6a6bd8743 vmdb]# firewall-cmd --reload 
 success

ManageIQ网络应用程序https://localhost:8443成功运作。但无法连接到位于Docker容器外部的网址为http://localhost:8080的hawkular。

这两个应用程序各有不同的" localhost"但是我不知道如何处理这个问题。我是否会错过解决此问题的任何流程?

1 个答案:

答案 0 :(得分:0)

localhost中的{p> container在主机操作系统上不是localhost。这些是不同的。

要从container连接主机操作系统的地址,请使用默认情况下默认为docker0 docker的bridge network接口。 (当然,您可以创建自己的泊坞网络而不是默认桥接网络,请参阅here

$ ifconfig docker0  

例如,如果docker0接口的IP为172.20.0.1,请使用172.20.0.1:8080