在一个php容器上有两个独立的php服务的docker

时间:2016-11-04 14:39:05

标签: php nginx docker docker-compose docker-machine

我的docker-compose.yml包含内容:

nginx:
build: ./nginx/
ports:
    - 80:80
links:
    - php
volumes:
    - ./code:/var/www/
    - ./nginx/site.local.conf:/etc/nginx/conf.d/site.local.conf
    - ./nginx/api.local.conf:/etc/nginx/conf.d/api.local.conf
php:
    build: ./php/
    expose:
        - 9000
    volumes:
        - ./code/cms:/var/www/site
        - ./code/www:/var/www/api

在我的本地计算机上我可以将所有主机分开site.local& api.local

但我有一个问题,无法解决它:

有从site.local到api.local的php请求,所以我得到这样的错误:

cURL错误6:无法解析主机:api.local

可以有人帮助我吗?感谢。

1 个答案:

答案 0 :(得分:2)

我对我的问题有答案!

version: "2"

networks:
    lan_0:
        driver: bridge
        ipam:
            driver: default
            config:
                - subnet: 172.19.0.0/24
                  gateway: 172.19.0.21

services:
    nginx:
        build: ./nginx/
        ports:
            - 80:80
            - 443:443
        links:
            - php
        volumes:
            - ./code:/var/www/
        networks:
            lan_0:
                ipv4_address: 172.19.0.22
    php:
        build: ./php/
        expose:
            - 9000
        volumes:
            - ./code:/var/www
        extra_hosts:
            - "api.local:172.19.0.22"
            - "site.local:172.19.0.22"
        networks:
            lan_0:
                ipv4_address: 172.19.0.23

这是一个例子,如何在一个php容器中传递两个web应用程序。