Dockerfile 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. # ./docker/php/Dockerfile
  2. FROM php:8.2.1-fpm
  3. ARG COMPOSER_HASH
  4. ARG OS
  5. ARG DEBIAN_FRONTEND=noninteractive
  6. RUN apt-get update && apt-get install -y --fix-missing \
  7. apt-utils \
  8. gnupg
  9. ## Si erreur de PUBKEY :
  10. RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E9C74FEEA2098A6E
  11. RUN echo "deb https://packages.dotdeb.org jessie all" >> /etc/apt/sources.list
  12. RUN echo "deb-src https://packages.dotdeb.org jessie all" >> /etc/apt/sources.list
  13. RUN apt-get clean
  14. RUN apt-get update
  15. RUN apt-get install --fix-missing --no-install-recommends -y \
  16. zlib1g-dev libicu-dev g++ \
  17. libjpeg62-turbo-dev \
  18. libzip-dev \
  19. libpng-dev \
  20. libtidy-dev \
  21. libssl-dev \
  22. libxslt-dev \
  23. libxrender-dev \
  24. libxrender1 \
  25. libxt6 \
  26. libxtst6 \
  27. openssh-server \
  28. build-essential \
  29. xorg \
  30. iputils-ping \
  31. wget \
  32. gdebi \
  33. ca-certificates \
  34. wget \
  35. xz-utils \
  36. fontconfig \
  37. git \
  38. nano \
  39. acl \
  40. procps \
  41. libmagickwand-dev \
  42. imagemagick \
  43. zip
  44. # Install wkhtmltopdf and wkhtmltoimage \
  45. RUN wget http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/multiarch-support_2.27-3ubuntu1.5_amd64.deb; \
  46. dpkg -i multiarch-support_2.27-3ubuntu1.5_amd64.deb; \
  47. wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb; \
  48. dpkg -i libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb; \
  49. wget http://ftp.de.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb; \
  50. dpkg -i libpng12-0_1.2.50-2+deb8u3_amd64.deb; \
  51. wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox_0.12.5-1.jessie_amd64.deb; \
  52. dpkg -i wkhtmltox_0.12.5-1.jessie_amd64.deb; \
  53. rm libpng12-0_1.2.50-2+deb8u3_amd64.deb libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb \
  54. multiarch-support_2.27-3ubuntu1.5_amd64.deb wkhtmltox_0.12.5-1.jessie_amd64.deb
  55. RUN docker-php-ext-configure intl; \
  56. docker-php-ext-install opcache pdo_mysql mbstring exif bcmath calendar gd intl tidy; \
  57. docker-php-ext-enable exif; \
  58. docker-php-ext-enable tidy; \
  59. docker-php-ext-install zip; \
  60. docker-php-ext-install xsl; \
  61. # IMAGICK
  62. pecl install imagick-3.4.3RC2; \
  63. docker-php-ext-enable imagick; \
  64. ## APCU
  65. pecl install apcu-5.1.21
  66. ## COMPOSER
  67. RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"; \
  68. php composer-setup.php; \
  69. php -r "unlink('composer-setup.php');"; \
  70. mv composer.phar /usr/local/bin/composer
  71. ######## BLACKFIRE #########
  72. # If you use Alpine, you need to set this value to "alpine"
  73. RUN version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
  74. && curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \
  75. && mkdir -p /tmp/blackfire \
  76. && tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \
  77. && mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get ('extension_dir');")/blackfire.so \
  78. && printf "extension=blackfire.so\nblackfire.agent_socket=tcp://blackfire:8707\n" > $PHP_INI_DIR/conf.d/blackfire.ini \
  79. && rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz
  80. ######## BLACKFIRE #########
  81. ######## XDebug ########
  82. RUN pecl install xdebug \
  83. && docker-php-ext-enable xdebug
  84. ######## Php conf ########
  85. COPY /.ssh /root/.ssh
  86. COPY /docker/ap2i/conf/memory.ini /usr/local/etc/php/conf.d
  87. COPY /docker/ap2i/conf/apc.ini /usr/local/etc/php/conf.d
  88. COPY /docker/ap2i/conf/execution_time.ini /usr/local/etc/php/conf.d
  89. COPY /docker/ap2i/conf/xdebug.ini /usr/local/etc/php/conf.d
  90. ######## FACL and Start ########
  91. ## Create .env.local file
  92. RUN echo "APP_ENV=docker" > .env.local
  93. WORKDIR /var/www/html