2017-08-18 16 views
0

自動的にnginxコンテナのIPアドレスを私のphpfpmコンテナ/ etc/hostsファイルに追加することを検討しています。動的にnginxコンテナipをphpfpm/etc/hostsファイルに追加する

私のymlファイルの中には、phpfpmというサービスがありますが、extra_hosts属性を使用して/ etc/hostsファイルに値を割り当てることができますが、動的にnginxコンテナIPを配置する方法はわかりません。

nginx: 
    build: ./nginx 
    ports: 
     - "80:80" 
     - "443:443" 
    volumes: 
     - ../public/:/var/www/html/public/ 
    container_name: nginx 
    networks: 
     - backend 

    phpfpm: 
    build: ./php-fpm 
    volumes: 
     - ../public/:/var/www/html/public/ 
    container_name: phpfpm 
    extra_hosts: 
     - "test.local:nginx" <insert nginx ip to test.local> 
    networks: 
     - backend 

これを行う方法についてのご意見はありますか?

答えて

0

コンポジションファイル内のコンテナは同じネットワーク上で実行され、名前は使用できます。あなたの場合はphpfpmnginxです。あなたは

nginx: 
    build: ./nginx 
    ports: 
     - "80:80" 
     - "443:443" 
    volumes: 
     - ../public/:/var/www/html/public/ 
    container_name: nginx 
    networks: 
     backend: 
     aliases: 
      - test.local 

    phpfpm: 
    build: ./php-fpm 
    volumes: 
     - ../public/:/var/www/html/public/ 
    container_name: phpfpm 
    networks: 
     - backend 
+0

ええ、複数のウェブサイトがphpfpmコンテナを指すnginxに座っているので、スクリプトの1つは特定のウェブサイトにカールしたいと思っています。だから、正しいファイルを呼び出せるように、ドメインをIPにバインドする必要があります。 – yohox3

+0

あなたのコードで 'test.local'を' extra_hosts'を定義せずにエイリアスを定義した場合、それはうまくいくでしょう –

+0

これは素晴らしい作品です。 – yohox3

0

なぜNginx IPアドレスが必要ですか?ホスト名でphpfpmコンテナからnginxを呼び出すことができますnginx

+0

別名を使用する必要があり、同じサービスのためのより多くの名前を必要とする場合にも、私は私が複数のワードプレスのウェブサイトを管理することができ、およびスクリプトは、ウェブサイトを取得するためにカールを使用していることのようにそれはそう私のPHPのコンテナ内のスクリプトを持っていますphpfpmとnginxは異なるコンテナに置かれているので、手動でドメインをホストファイルにバインドして問題を修正するように見えます。 – yohox3

関連する問題