From: Nicolas Boisselier Date: Thu, 7 Mar 2019 04:24:08 +0000 (+0000) Subject: Docker X-Git-Url: https://git.nbdom.net/?a=commitdiff_plain;h=6728cf6c3d0bc2a2cb69dac004d7928f857194f0;p=nb.git Docker --- diff --git a/lib/Docker/nginx/Dockerfile b/lib/Docker/nginx/Dockerfile new file mode 100644 index 00000000..ff60f0a9 --- /dev/null +++ b/lib/Docker/nginx/Dockerfile @@ -0,0 +1,21 @@ +FROM nginx:alpine + +ARG WWW_ROOT +ENV WWW_ROOT=${WWW_ROOT:-/var/www/html} + +ARG FASTCGI_PASS +ENV FASTCGI_PASS=${FASTCGI_PASS:-php:9000} + +COPY ./default.conf /etc/nginx/conf.d/default.conf + +# Set DOCUMENT_ROOT +RUN test "$WWW_ROOT" && sed -i -e 's,^\([\t ]*root \).*$,\1'$WWW_ROOT';,' /etc/nginx/conf.d/default.conf + +# Set FASTCGI_PASS +RUN test "$FASTCGI_PASS" && sed -i -e 's,^\([\t ]*fastcgi_pass[\t ]*\).*,\1'$FASTCGI_PASS';,' /etc/nginx/conf.d/default.conf + +# Create default index.html +RUN mkdir -p $WWW_ROOT && echo 'Welcom to Nginx Php Fpm

Welcom to Nginx Php Fpm

You are connected to '$FASTCGI_PASS'

' > $WWW_ROOT/index.html + +# Run daemon +CMD nginx -g "daemon off; error_log /dev/stdout info;" diff --git a/lib/Docker/nginx/default.conf b/lib/Docker/nginx/default.conf new file mode 100644 index 00000000..48c284c6 --- /dev/null +++ b/lib/Docker/nginx/default.conf @@ -0,0 +1,39 @@ +server { + listen 80 default_server; + root /var/www/html; + index index.html index.php; + + charset utf-8; + + location = /favicon.ico { access_log off; log_not_found off; } + location = /robots.txt { access_log off; log_not_found off; } + + #access_log off; + #error_log /var/log/nginx/error.log error; + + error_log /dev/stderr error; + access_log /dev/stdout main; + sendfile off; + + client_max_body_size 100m; + + location ~ /\.ht { + deny all; + } + + location / { + try_files $uri $uri/ /index.php?$query_string; + } + + location ~ /index\.php$ { + #location index.php { + fastcgi_split_path_info ^(.+\.php)(/.+)$; + fastcgi_pass php:9000; + fastcgi_index index.php; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_intercept_errors off; + fastcgi_buffer_size 16k; + fastcgi_buffers 4 16k; + } +} diff --git a/lib/Docker/perl/Dockerfile b/lib/Docker/perl/Dockerfile new file mode 100644 index 00000000..04648c40 --- /dev/null +++ b/lib/Docker/perl/Dockerfile @@ -0,0 +1,16 @@ +FROM alpine + +# Install packages +RUN set -ex && apk --no-cache add wget perl spawn-fcgi fcgiwrap + +#COPY http://nginxlibrary.com/downloads/perl-fcgi/fastcgi-wrapper /usr/bin/fastcgi-wrapper.pl +#RUN chmod 755 /usr/bin/fastcgi-wrapper.pl +#COPY ./init.d/* /etc/init.d/ +# Home page +#RUN mkdir -p /var/www/html && echo 'Welcom to php:7.0-fpm-alpine

Welcom to php:7.0-fpm-alpine

' > /var/www/html/index.php + +# Conf + +EXPOSE 8999 +#ENTRYPOINT /usr/bin/fastcgi-wrapper.pl +ENTRYPOINT /usr/bin/fcgiwrap -s 127.0.0.1:8999 diff --git a/lib/Docker/perl/init.d/perl-fcgi b/lib/Docker/perl/init.d/perl-fcgi new file mode 100755 index 00000000..a00acfa6 --- /dev/null +++ b/lib/Docker/perl/init.d/perl-fcgi @@ -0,0 +1,32 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: perl-fcgi +# Required-Start: $local_fs $remote_fs $network $syslog $named +# Required-Stop: $local_fs $remote_fs $network $syslog $named +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: starts the perl-fcgi +# Description: starts perl-fcgi using start-stop-daemon +### END INIT INFO +PERL_SCRIPT=/usr/bin/fastcgi-wrapper.pl +RETVAL=0 +case "$1" in + start) + $PERL_SCRIPT >/var/log/perl-fcgi.log 2>&1 + RETVAL=$? + ;; + stop) + killall -9 /usr/bin/perl + RETVAL=$? + ;; + restart) + $0 stop + $0 start + RETVAL=$? + ;; + *) + echo "Usage: perl-fastcgi {start|stop|restart}" + exit 1 + ;; +esac +exit $RETVAL diff --git a/lib/Docker/php/Dockerfile b/lib/Docker/php/Dockerfile new file mode 100644 index 00000000..f8cbc47b --- /dev/null +++ b/lib/Docker/php/Dockerfile @@ -0,0 +1,17 @@ +FROM php:7.0-fpm-alpine +RUN mkdir /opt + +# Install php packages and extentions +RUN set -ex && apk --no-cache add postgresql-dev sqlite sqlite-dev bash perl perl-uri libmcrypt-dev +RUN docker-php-ext-install -j$(grep ^proc /proc/cpuinfo |wc -l) mcrypt pdo pdo_mysql pdo_sqlite pdo_sqlite pdo_pgsql pgsql mcrypt + +# Home page +RUN mkdir -p /var/www/html && echo 'Welcom to php:7.0-fpm-alpine

Welcom to php:7.0-fpm-alpine

' > /var/www/html/index.php + +# Conf +COPY ./php-fpm.d/* /usr/local/etc/php-fpm.d/ +RUN rm -f /usr/local/etc/php-fpm.d/www.conf.default + +EXPOSE 9000 +#CMD ["/usr/local/bin/php", "-a"] +ENTRYPOINT /usr/local/sbin/php-fpm diff --git a/lib/Docker/php/php-fpm.d/socket.conf b/lib/Docker/php/php-fpm.d/socket.conf new file mode 100644 index 00000000..dfc906c4 --- /dev/null +++ b/lib/Docker/php/php-fpm.d/socket.conf @@ -0,0 +1,12 @@ +[socket] +user = www-data +group = www-data +listen = /var/run/php5-fpm.sock +listen.owner = www-data +listen.group = www-data +pm = dynamic +pm.max_children = 5 +pm.start_servers = 2 +pm.min_spare_servers = 1 +pm.max_spare_servers = 3 +chdir = / diff --git a/lib/Docker/php/php-fpm.d/www.conf b/lib/Docker/php/php-fpm.d/www.conf new file mode 100644 index 00000000..a95b72fd --- /dev/null +++ b/lib/Docker/php/php-fpm.d/www.conf @@ -0,0 +1,9 @@ +[www] +user = www-data +group = www-data +listen = 127.0.0.1:9000 +pm = dynamic +pm.max_children = 5 +pm.start_servers = 2 +pm.min_spare_servers = 1 +pm.max_spare_servers = 3 diff --git a/www/Docker b/www/Docker deleted file mode 120000 index c21bfe5d..00000000 --- a/www/Docker +++ /dev/null @@ -1 +0,0 @@ -../src/Docker \ No newline at end of file diff --git a/www/dbq/docker-compose.yaml b/www/dbq/docker-compose.yaml index 3953b1a9..cfa7ded9 100644 --- a/www/dbq/docker-compose.yaml +++ b/www/dbq/docker-compose.yaml @@ -3,7 +3,7 @@ services: php: working_dir: $NB_ROOT - build: ../Docker/php/ + build: ../../lib/Docker/php/ expose: - 9000 environment: @@ -24,7 +24,7 @@ services: environment: NB_ROOT: /opt/nb build: - context: ../Docker/nginx/ + context: ../../lib/Docker/nginx/ args: - WWW_ROOT=$NB_ROOT/www/dbq/html - FASTCGI_PASS=php:9000