PHP代码中使用curl重启docker,nginx的IP会变
Fawkes-hub opened this issue · 4 comments
Fawkes-hub commented
我下windows环境下配置了docker,安装DNMP成功,环境启动一切正常,但是需要一个功能使用curl功能,采用您说的方法后,可以设置成功,但是重启docker后,nginx的IP地址会改变,必须再重新设置,我这边应该如何配置可以使nginx的IP固定呢?
yeszao commented
可以配置静态IP。
在docker-compose.yml中。
首先,配置虚拟网卡driver和subnet:
networks:
net-default:
driver: bridge
ipam:
driver: default
config:
- subnet: 10.0.0.0/24
然后设置nginx的静态IP:
nginx:
#其他配置...
networks:
net-default:
ipv4_address: 10.0.0.10
再在php中设置extra_hosts:
php54:
#其他配置...
extra_hosts:
- "project.com:10.0.0.10"
networks:
- net-default
最后重新build一下,就OK了。
549240290 commented
composesr 应该装到php容器中。。因为composer安装的时候会出现php版本问题
比如用composer安装laravel5.1 和 5.7。。就会报错
popdaul commented
可以配置静态IP。
在docker-compose.yml中。
首先,配置虚拟网卡driver和subnet:networks: net-default: driver: bridge ipam: driver: default config: - subnet: 10.0.0.0/24
然后设置nginx的静态IP:
nginx: #其他配置... networks: net-default: ipv4_address: 10.0.0.10
再在php中设置extra_hosts:
php54: #其他配置... extra_hosts: - "project.com:10.0.0.10" networks: - net-default
最后重新build一下,就OK了。
能否做一个容器的hosts映射在宿主机,我现在开发的微服务环境需要经常在本机和内网环境中切换,如果有一个单独的容器hosts文件映射在宿主机会方便修改
Baiyinliang commented
composesr 应该装到php容器中。。因为composer安装的时候会出现php版本问题
可以在后面增加 --ignore-platform-reqs即可,这样可以忽略版本问题。