2017-03-10 13 views
0

Dockerコンテナの外側にあるアプリケーション「hawkular」を確認するために、sockポートを使用してDockerコンテナ内の監視アプリケーション「ManageIQ」を使用します。Dockerコンテナ内のManageIQ WebアプリケーションがHawkular外コンテナに接続できません

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

そして私は "ManageIQ" ドッキングウィンドウコンテナ

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

[[email protected] 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 
[[email protected] vmdb]# systemctl restart httpd 
[[email protected] vmdb]# yum install firewalld -y 
[[email protected] vmdb]# systemctl start firewalld 
[[email protected] vmdb]# systemctl enable firewalld 
[[email protected] vmdb]# firewall-cmd --add-service=https --permanent 
success 
[[email protected] vmdb]# firewall-cmd --reload 
success 

正常に動作しますhttps://localhost:8443 ManageIQ Webアプリケーション内でのSSL設定を構成します。以下は、ドッキングウィンドウのコマンドがあります。しかし、Dockerコンテナの外にあるURLがhttp://localhost:8080のhawkularには接続できません。

これらの2つのアプリケーションにはそれぞれ異なる「localhost」がありますが、この問題をどのように処理するかはわかりません。この問題を解決するプロセスがありませんか?

答えて

0

localhostcontainerは、ホストOSではlocalhostではありません。これらは異なっている。

ホストOSのアドレスをcontainerから接続するには、デフォルトでbridge networkドッカーがサービスするdocker0インターフェイスを使用します。 docker0インターフェイスのIPが172.20.0.1ある場合172.20.0.1:8080を使用して、たとえば、

$ ifconfig docker0 

を(もちろん、あなたがhereを参照し、デフォルトのブリッジネットワーク以外の独自のドッキングウィンドウのネットワークを作成することができます)。

関連する問題