Dockerfile 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. FROM php:7.2-alpine
  2. RUN apk --no-cache add libmcrypt-dev \
  3. libltdl \
  4. icu-dev \
  5. freetype-dev \
  6. m4 \
  7. perl \
  8. autoconf \
  9. libc6-compat \
  10. build-base \
  11. curl \
  12. git \
  13. openssh \
  14. openssl \
  15. tini \
  16. bash \
  17. zlib-dev \
  18. gmp \
  19. gmp-dev \
  20. && docker-php-ext-install mbstring \
  21. zip \
  22. bcmath \
  23. opcache \
  24. gmp \
  25. && apk del icu-dev \
  26. freetype-dev \
  27. build-base \
  28. zlib-dev \
  29. gmp-dev \
  30. autoconf \
  31. make \
  32. perl
  33. ENV COMPOSER_ALLOW_SUPERUSER 1
  34. ENV COMPOSER_HOME /tmp
  35. ENV COMPOSER_VERSION 1.7.3
  36. ARG HOST_USER_UID=1000
  37. ARG HOST_USER_GID=1000
  38. COPY entrypoint.sh /entrypoint.sh
  39. RUN chmod +x /entrypoint.sh \
  40. && echo "memory_limit=-1" > "$PHP_INI_DIR/conf.d/memory-limit.ini" \
  41. && echo "date.timezone=${PHP_TIMEZONE:-UTC}" > "$PHP_INI_DIR/conf.d/date_timezone.ini" \
  42. && php -r " \
  43. copy('https://getcomposer.org/installer', 'composer-setup.php'); \
  44. if (hash_file('SHA384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') \
  45. { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" \
  46. && php composer-setup.php --no-ansi --install-dir=/usr/bin --filename=composer --version=${COMPOSER_VERSION} \
  47. && rm composer-setup.php \
  48. && composer --ansi --version --no-interaction \
  49. && rm -rf /tmp/* /tmp/.htaccess \
  50. && addgroup -g $HOST_USER_GID developers \
  51. && adduser -D -u $HOST_USER_UID -G developers developer
  52. WORKDIR /app
  53. ENTRYPOINT ["/entrypoint.sh"]
  54. CMD ["composer"]