docker中docker-compose环境来自:https://github.com/zhaojunlik...原文:http://blog.oeynet.com/post/9...说明在开发、断点调试是我们发现Bug代码问题最快的方法,那么如何在docker中使用xdebug跟踪调试PHP项目呢?Step1制作一个包含Xdebug扩展的容器dockerfile如下FROMphp:5.6-fpmMAINTAINERGodtoyRUNsed-i's/deb.debian.org/mirrors.ustc.edu.cn/g'/etc/apt/sources.list\&&apt-getupdate&&apt-getinstall-y\libfreetype6-dev\libjpeg62-turbo-dev\libmcrypt-dev\libpng12-dev\&&docker-php-ext-install-j$(nproc)iconvmcryptpdo_mysqlmysqlmbstringopcachebcmath\&&docker-php-ext-configuregd--with-freetype-dir=/usr/include/--with-jpeg-dir=/usr/include/--enable-bcmath\&&docker-php-ext-install-j$(nproc)gd\&&peclinstallredis-3.1.0\&&peclinstallxdebug-2.5.0\&&docker-php-ext-enableredisxdebug\build,我们这里Build我直接使用docker-compose.ymlrsion:'3.0'services:php-fpm:build:./dockerfiles/php/#image:zhaojunlike/php-fpm:5.6-latestrestart:alwaysenvironment:TP_APP_DEBUG:1APP_DEBUG:1volumes:#网站目录-./app:/app:rw#配置文件-./dockerfiles/php/php-dev.ini:/usr/local/etc/php/php.ini:ro-./dockerfiles/php/php-fpm.conf:/usr/local/etc/php-fpm.conf:ro-/etc/localtime:/etc/localtime:ro#mount站点日志-./logs/php-fpm:/var/log/php-fpm:rwphp。ini文件配置信息[PHP]short_open_tag=Ondisplay_errors=Onerror_reporting=E_ALLpost_max_size=120Mupload_max_filesize=100M[Date]date.timezone=Asia/Shanghai[XDebug]xdebug.idekey="PHPSTORM"xdebug.remote_enable=1xdebug.remotedb_phand"ler=".remote_mode="req"xdebug.remote_connect_back=onxdebug.remote_autostart=offxdebug.remote_host="192.168.197.1"xdebug.remote_port=9000xdebug.remote_log=/var/log/php-fpm/x-debug-remote.logremote_host是开发IDE工具php.ini的ip地址我推荐创建2个版本,一个是本地开发调试的环境配置文件,一个是线路对于网站制作的文件,可以开启opache等扩展进行平台加速。Step2启动Lnmp环境在docker-lnmp中,我们已经布置了一个基本的nginx+php-fpm+mysql环境实例,我们只需要clone到根目录下使用docker-composeup-d会自动执行构建然后生成图片。最后会自动启动4个容器。Step3配置PHPStormIDE配置路径:File|设置|语言和框架|PHP|调试|DBGpProxy在主机文件中。dev.me已经托管在docker主机的IP地址,所以www.dev.me也可以是docker主机的IP地址192.168.197.128admin.dev.meapi.dev.medev.mewww.dev.mem.dev.meold.dev.menew.dev.me配置开始,最后应用。启动时,请打开小手机并设置断点。这样Chrome安装插件监控地址配置为https://chrome.google.com/web...小手机开机后,如果访问www.dev.me,会自动进入debug在断点模式下,这样我们的docker开发环境的断点调试就已经配置好了。享受