首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用laradock和docker-compose版本3为nginx容器分配静态ip

问如何使用laradock和docker-compose版本3为nginx容器分配静态ip
EN

Stack Overflow用户
提问于 2019-07-04 06:59:25
回答 1查看 1.4K关注 0票数 1

我正在为本地开发环境使用laradock

我有一个使用php-fpm的soap服务器@ (soap.localhost.com)使用nginx容器@ (api.localhost.com)中的WSDL文件。

php-fpm容器不知道nginx容器的ip地址,除非我将其硬编码到docker-comopose.yml的php-fpm部分

代码语言:javascript
复制
      extra_hosts:
        - "dockerhost:${DOCKER_HOST_IP}"
        - "api.localhost.com:xxx.xxx.xxx.xxx"

每次我重新启动容器时,nginx容器的ip地址都会改变,所以我需要以某种方式分配一个静态ip地址,这样我就不必不断地硬编码extra_hosts部分。

Laradock已经定义了两个网络接口:

代码语言:javascript
复制
networks:
  frontend:
    driver: bridge
  backend:
    driver: bridge
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-08 11:49:16

最后:不是将静态IP分配给NGINX容器,然后将域名添加到PHP_FPM容器的extra_hosts:部分。我向NGINX容器的network部分添加了别名,如下所示

代码语言:javascript
复制
### NGINX Server #########################################
    nginx:
      build:
        context: ./nginx
        args:
          - PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER}
          - PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
          - CHANGE_SOURCE=${CHANGE_SOURCE}
      volumes:
        - ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}${APP_CODE_CONTAINER_FLAG}
        - ${NGINX_HOST_LOG_PATH}:/var/log/nginx
        - ${NGINX_SITES_PATH}:/etc/nginx/sites-available
        - ${NGINX_SSL_PATH}:/etc/nginx/ssl
      ports:
        - "${NGINX_HOST_HTTP_PORT}:80"
        - "${NGINX_HOST_HTTPS_PORT}:443"
      depends_on:
        - php-fpm 
        - memcached       
      networks:
        frontend:              
        backend:
         aliases:
          - api.localhost.com
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56878857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档