Last active
August 29, 2020 13:02
-
-
Save XOlegator/878b24f3e4b289aa1926b22a0ae506b5 to your computer and use it in GitHub Desktop.
How to add Xdebug to docker
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Исходный образ | |
FROM php:7.2-fpm | |
# RUN выполняет идущую за ней команду в контексте нашего образа. | |
# В данном случае мы установим некоторые зависимости и модули PHP. | |
# Для установки модулей используем команду docker-php-ext-install. | |
# На каждый RUN создается новый слой в образе, поэтому рекомендуется объединять команды. | |
RUN apt-get update && apt-get install -y \ | |
curl \ | |
wget \ | |
git \ | |
libfreetype6-dev \ | |
libjpeg62-turbo-dev \ | |
libmcrypt-dev \ | |
libpng-dev \ | |
libicu-dev \ | |
libxml2-dev \ | |
libpq-dev \ | |
&& pecl install mcrypt-1.0.1 \ | |
&& docker-php-ext-install -j$(nproc) intl bcmath soap pgsql pdo_pgsql zip \ | |
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ | |
&& docker-php-ext-install -j$(nproc) gd \ | |
&& docker-php-ext-enable mcrypt | |
RUN yes | 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_host = 172.18.0.1" >> /usr/local/etc/php/conf.d/xdebug.ini \ | |
&& echo "xdebug.coverage_enable = 1" >> /usr/local/etc/php/conf.d/xdebug.ini \ | |
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini \ | |
&& echo "xdebug.profiler_enable = 0" >> /usr/local/etc/php/conf.d/xdebug.ini \ | |
&& echo "xdebug.var_display_max_depth = 3" >> /usr/local/etc/php/conf.d/xdebug.ini \ | |
&& echo "xdebug.var_display_max_children = 128" >> /usr/local/etc/php/conf.d/xdebug.ini \ | |
&& echo "xdebug.var_display_max_data = 512" >> /usr/local/etc/php/conf.d/xdebug.ini \ | |
&& echo "xdebug.max_nesting_level = 256" >> /usr/local/etc/php/conf.d/xdebug.ini \ | |
&& echo 'xdebug.idekey="webmaster"' >> /usr/local/etc/php/conf.d/xdebug.ini \ | |
&& mkdir /usr/local/etc/php/debug_conf.d/ \ | |
&& ln -s /usr/local/etc/php/conf.d/* /usr/local/etc/php/debug_conf.d/ | |
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer | |
# Добавим свой php.ini, можем в нем определять свои значения конфига | |
ADD php.ini /usr/local/etc/php/conf.d/40-custom.ini | |
# Указываем рабочую директорию для PHP | |
WORKDIR /app | |
CMD ["php-fpm"] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment