mirror of
https://github.com/clearlinux/dockerfiles.git
synced 2026-06-29 00:55:57 +00:00
add php-fpm container
Signed-off-by: Gong Sophia <sophia.gong@intel.com>
This commit is contained in:
@@ -26,6 +26,7 @@ env:
|
||||
- DOCKERFILE_DIR=rabbitmq
|
||||
- DOCKERFILE_DIR=perl
|
||||
- DOCKERFILE_DIR=php
|
||||
- DOCKERFILE_DIR=php-fpm
|
||||
- DOCKERFILE_DIR=postgres
|
||||
- DOCKERFILE_DIR=python
|
||||
- DOCKERFILE_DIR=redis
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
FROM clearlinux:latest AS builder
|
||||
MAINTAINER sophia.gong@intel.com
|
||||
|
||||
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 $swupd_args
|
||||
|
||||
# Grab os-release info from the minimal base image so
|
||||
# that the new content matches the exact OS version
|
||||
COPY --from=clearlinux/os-core:latest /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 --no-scripts
|
||||
|
||||
# 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=clearlinux/os-core:latest / /os_core_install/
|
||||
RUN cd / && \
|
||||
find os_core_install | sed -e 's/os_core_install/install_root/' | xargs rm -d || true
|
||||
|
||||
|
||||
FROM clearlinux/os-core:latest
|
||||
|
||||
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 'listen = 9000'; \
|
||||
} | 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"]
|
||||
@@ -0,0 +1,37 @@
|
||||
php-fpm
|
||||
==========
|
||||
This provides a Clear Linux* php-fpm instance.
|
||||
|
||||
Build
|
||||
-----
|
||||
```
|
||||
docker build -t clearlinux/php-fpm .
|
||||
```
|
||||
|
||||
Or just pull it from Dockerhub
|
||||
---------------------------
|
||||
```
|
||||
docker pull clearlinux/php-fpm
|
||||
```
|
||||
|
||||
start a php-fpm instance
|
||||
-----------------------
|
||||
```
|
||||
docker run --name some-php-fpm clearlinux/php-fpm
|
||||
```
|
||||
|
||||
Test
|
||||
-----------------------
|
||||
```
|
||||
docker exec -it some-php-fpm bash
|
||||
php-fpm -t
|
||||
```
|
||||
|
||||
More typical, php-fpm works with nginx, mariadb, for example in wordpress use case. For details, please refer to clearlinux wordpress micro service.
|
||||
|
||||
|
||||
Extra Build ARGs
|
||||
----------------
|
||||
- ``swupd_args`` Specifies [SWUPD](https://github.com/clearlinux/swupd-client/blob/master/docs/swupd.1.rst#options) flags
|
||||
|
||||
Default build args in Docker are on: https://docs.docker.com/engine/reference/builder/#arg
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# first arg is `-f` or `--some-option`
|
||||
if [ "${1#-}" != "$1" ]; then
|
||||
set -- php-fpm "$@"
|
||||
fi
|
||||
|
||||
exec "$@"
|
||||
Reference in New Issue
Block a user