动态地将nginx容器ip添加到phpfpm / etc / hosts文件中

时间:2017-08-18 07:20:27

标签: docker docker-compose

希望在我的phpfpm容器/ etc / hosts文件中自动添加nginx容器ip地址。

在我的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

关于如何做到这一点的任何想法?

2 个答案:

答案 0 :(得分:1)

撰写文件中的容器将在同一网络上运行,您可以只使用它们的名称。在你的情况下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

答案 1 :(得分:0)

为什么需要Nginx IP地址?您可以通过主机名nginx

从phpfpm容器调用nginx