对于码头开发环境,我们使用的是docker-compose-file。一切工作正常,我们很高兴,但有一个小问题,我会工作:如何在docker-compose文件中动态获取主机ip?
我们安装php-fpm与xdebug。现在我们进行如下配置:
PHP-Dockerfile:
FROM php:7.1-fpm
RUN docker-php-ext-install pdo_mysql \
&& docker-php-ext-install json \
&& pecl install xdebug \
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini
泊坞窗,compose.yml:
services:
//[...]
php:
build: ./docker/php/
container_name: dev-php
expose:
- 9000
volumes:
- .:/var/www/html
environment:
XDEBUG_CONFIG: remote_host=192.168.0.50
PHP_IDE_CONFIG: "serverName=docker"
此设置正常工作:我们能够与调试本地系统上的IDE中的xdebug。唯一的问题是,我们将一个IP“192.168.0.50”静态保存在docker-compose文件中。所以每个员工HAST将其更改为自己的IP运行前...
现在的问题是: 是有一个更聪明的方式建设时,动态获取主机的IP地址?
而不是无关的问题:为什么你需要暴露'9000'端口?你是否试图从外部连接到php-fpm?它提供了什么? – LazyOne
看到这篇文章http://tarunlalwani.com/post/debugging-php-xdebug-docker/ –
我使用phpstorm,我需要这个端口为xdebug。 – j0nnybrav0