2017-11-08 24 views
0

を公開ポート対IPがドッキングウィンドウコンテナをアクセスも。こののホストには、かなり異なった設定の「jboss/wildfly」コンテナがあり、さまざまなアプリケーションがロードされています。ソフトウェアテストの目的で、一部の人からの要求に応じて開始することができます。以下のドッキングウィンドウ-コンが使用されます。は、私がで指定されたDOCKER_HOSTを持っている

version: '2' 
services: 

    wildfly: 
     build: 
      dockerfile: Dockerfile.wildfly 
      context: . 
     ports: 
       - "8080:8080" 
     depends_on: 
      - logvolume 
      - mariadb 
     volumes_from: 
      - logvolume 

    mariadb: 
     image: mariadb:latest 
     ports: 
      - "3307:3307" 
     environment: 
      - MYSQL_ROOT_PASSWORD=secret 

    logvolume: 
     build: 
      dockerfile: Dockerfile.logvolume 
      context: . 
     volumes: 
      - /opt/jboss/wildfly/standalone/log:/opt/jboss/wildfly/standalone/log 

私はかなりビューコンテナを構築する予定です内部の異なるプリロード・データと異なるWebアプリケーションとのそれぞれが「wildfly」

が、私は一つ一つが割り当てられ、これらのコンテナを起動すると _dirname_defaultネットワーク(ブリッジされた)内のIPアドレス。 Jbossは の外の世界と$ DOCKER_HOST:8080で接続でき、maria_dbはとてもきれいです。 しかし、私はこれをいくつか持っています。別のポートを別のwildflyにマップする必要がありますか、または outsideなどで、ドッキングされたwildflyにアクセスする別の方法がありますか。コンテナなどで?

私は今

これは、このようにドッキングウィンドウ-compose.ymlにaddtionalのサービスを必要と話をするwildfly URLに基​​づいて決定するために、リバースプロキシとしてnginxのを使用しています

答えて

1

reverseproxy: 
    build: 
     dockerfile: Dockerfile.nginx 
     context: . 
    ports: 
     - 80:80 
    depends_on: 
     - wildfly 

そして、次のnginx.conf:

worker_processes 1; 
events { worker_connections 1024; } 
http { 
    sendfile on; 
    upstream docker-wildfly { 
     server wildfly:8080; 
    } 
    server { 
     listen 80; 
     location /wildfly/ { 
      proxy_pass   http://docker-wildfly/; 
      proxy_redirect  off; 
      proxy_set_header Host $host; 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      proxy_set_header X-Forwarded-Host $server_name; 
     } 
    } 

}

各wildfly意志独自の場所を取得する

関連する問題