ARG clear_ver FROM ghcr.io/clearlinux/os-core:$clear_ver AS core FROM clearlinux:latest AS builder ARG clear_ver ARG swupd_args # Move to latest Clear Linux release to ensure # that the swupd command line arguments are # correct RUN swupd update --no-boot-update -V $clear_ver $swupd_args # Grab os-release info from the minimal base image so # that the new content matches the exact OS version COPY --from=core /usr/lib/os-release / # Install additional content in a target directory # using the os version from the minimal base RUN source /os-release && \ mkdir /install_root \ && swupd os-install -V ${VERSION_ID} \ --path /install_root --statedir /swupd-state \ --bundles=os-core-update,php-basic,curl --no-boot-update # For some Host OS configuration with redirect_dir on, # extra data are saved on the upper layer when the same # file exists on different layers. To minimize docker # image size, remove the overlapped files before copy. RUN mkdir /os_core_install COPY --from=core / /os_core_install/ RUN cd / && \ find os_core_install | sed -e 's/os_core_install/install_root/' | xargs rm -d &> /dev/null || true FROM core COPY --from=builder /install_root / RUN set -ex \ mkdir -p /var/www/html \ && cd /usr/share/defaults/php \ && { \ echo '[global]'; \ echo 'error_log = /proc/self/fd/2'; \ echo; echo '; https://github.com/docker-library/php/pull/725#issuecomment-443540114'; echo 'log_limit = 8192'; \ echo; \ echo '[www]'; \ echo '; if we send this to /proc/self/fd/1, it never appears'; \ echo 'access.log = /proc/self/fd/2'; \ echo; \ echo 'clear_env = no'; \ echo; \ echo '; Ensure worker stdout and stderr are sent to the main error log.'; \ echo 'catch_workers_output = yes'; \ echo 'decorate_workers_output = no'; \ } | tee php-fpm.d/docker.conf \ && { \ echo '[global]'; \ echo 'daemonize = no'; \ echo; \ echo '[www]'; \ echo 'user = httpd'; \ echo 'group = httpd'; \ echo 'listen = 9000'; \ echo 'pm = dynamic'; \ } | tee php-fpm.d/zz-docker.conf WORKDIR /var/www/html COPY docker-php-entrypoint /usr/local/bin/ RUN chmod +x /usr/local/bin/docker-php-entrypoint ENTRYPOINT ["docker-php-entrypoint"] STOPSIGNAL SIGQUIT EXPOSE 9000 CMD ["php-fpm"]