2017-11-23 19 views
1

状況は次のとおりです。nginxによるサービスがあり、これはドッカーサーバーとしても機能します。dockerホストのnginxからコンテナ内のアプリケーションに接続する方法

また、我々はこの問題は、コンテナの公開ポートにnginxのから接続するための権限ある8080

でリッスンドッキングウィンドウコンテナ内のJavaアプリケーションを、持っています。

Nginx.error.logを示しています

2017/11/23 13:44:12 [crit] 3599#0: *1 connect() to 127.0.0.1:8080 failed (13: Permission denied) while connecting to upstream, 
2017/11/23 13:44:13 [error] 3599#0: *1 no live upstreams while connecting to upstream 

サイトの設定は次のとおりです。

server { 
listen 80 default_server; 
server_name _; 

location/{ 
    proxy_pass http://localhost:8080; 
    include proxy.conf; 
} 
} 

コンテナ設定:nginxのユーザーがnginxで、ドッキングウィンドウのユーザーであるため

version: '3' 
services: 
    app: 
    image: user/appX 
    restart: always 
    container_name: appX 
    ports: 
    - "8080:8080" 
    env_file: 
     - ./appX.env 
    extra_hosts: 
     - "host:172.101.0.1" 
    networks: 
     mynet: 
     ipv4_address: 172.101.0.2 

networks: 
    mynet: 
     external: 
     name: mynet 

権限が起こりますroot。 nginxをコンテナに移動せずにこの問題を解決するには? またはいくつかの回避策がありますか?

+0

'ドッキングウィンドウのps'の出力は何ですか? –

+0

@ShawnC、 6d18f20bbb90 user/appX "/ bin/sh -c 'exec ..." 21時間前Up 21 hours 0.0.0.0:8080-> 8080/tcp appX – kyberorg

答えて

0

問題はSELinux構成にありました。実行することによって解決

setsebool -P httpd_can_network_connect 1

関連する問題