對於碼頭開發環境,我們使用的是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