Dockerfile 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. ARG PHP_VERSION
  2. FROM ${PHP_VERSION}
  3. ARG TZ
  4. ARG PHP_EXTENSIONS
  5. ARG CONTAINER_PACKAGE_URL
  6. RUN sed -i "s/dl-cdn.alpinelinux.org/${CONTAINER_PACKAGE_URL}/g" /etc/apk/repositories
  7. COPY ./extensions /tmp/extensions
  8. WORKDIR /tmp/extensions
  9. RUN chmod +x install.sh \
  10. && sh install.sh \
  11. && rm -rf /tmp/extensions
  12. RUN apk --no-cache add tzdata \
  13. && cp "/usr/share/zoneinfo/$TZ" /etc/localtime \
  14. && echo "$TZ" > /etc/timezone
  15. # Fix: https://github.com/docker-library/php/issues/240
  16. RUN apk add gnu-libiconv libstdc++ --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/edge/community/ --allow-untrusted
  17. ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php
  18. #RUN pecl install mongodb && echo "extension=mongo.so" > /usr/local/etc/php/conf.d/mongo.ini
  19. # Install composer and change it's cache home
  20. RUN curl -o /usr/bin/composer https://mirrors.aliyun.com/composer/composer.phar \
  21. && chmod +x /usr/bin/composer
  22. ENV COMPOSER_HOME=/tmp/composer
  23. # php image's www-data user uid & gid are 82, change them to 1000 (primary user)
  24. RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data
  25. WORKDIR /www