From 7f5d9d07d154a7c73b0e0c50e39625ec4f59c913 Mon Sep 17 00:00:00 2001 From: Zuohuadong Date: Tue, 17 Oct 2017 12:23:48 +0800 Subject: [PATCH] add postgresql for php-fpm --- .travis.yml | 6 +++--- DOCUMENTATION/content/introduction/index.md | 2 +- caddy/Dockerfile | 23 ++++++++------------- docker-compose.yml | 11 ++++++++++ env-example | 6 ++++++ jenkins/Dockerfile | 12 +++++------ maildev/Dockerfile | 5 +++++ php-fpm/Dockerfile-70 | 9 ++++++++ php-fpm/Dockerfile-71 | 9 ++++++++ postgres/Dockerfile | 4 ++-- 10 files changed, 61 insertions(+), 26 deletions(-) create mode 100644 maildev/Dockerfile diff --git a/.travis.yml b/.travis.yml index f54fc735..887b61ac 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,9 +33,9 @@ env: - PHP_VERSION=70 BUILD_SERVICE=aerospike - PHP_VERSION=71 BUILD_SERVICE=aerospike - - PHP_VERSION=56 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog selenium jenkins proxy proxy2 balancer" - - PHP_VERSION=70 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog selenium jenkins proxy proxy2 balancer" - - PHP_VERSION=71 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog selenium jenkins proxy proxy2 balancer" + - PHP_VERSION=56 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 balancer" + - PHP_VERSION=70 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 balancer" + - PHP_VERSION=71 BUILD_SERVICE="memcached beanstalkd beanstalkd-console rabbitmq adminer elasticsearch certbot mailhog maildev selenium jenkins proxy proxy2 balancer" - HUGO_VERSION=0.20.2 diff --git a/DOCUMENTATION/content/introduction/index.md b/DOCUMENTATION/content/introduction/index.md index 115a79c6..58e35680 100644 --- a/DOCUMENTATION/content/introduction/index.md +++ b/DOCUMENTATION/content/introduction/index.md @@ -97,7 +97,7 @@ Beanstalkd - RabbitMQ - PHP Worker - **Queueing Management:** Beanstalkd Console - RabbitMQ Console - **Random Tools:** -HAProxy - Certbot - Blackfire - Selenium - Jenkins - ElasticSearch - Kibana - Mailhog - Minio - Varnish - Swoole - Laravel Echo... +HAProxy - Certbot - Blackfire - Selenium - Jenkins - ElasticSearch - Kibana - Mailhog - MailDev - Minio - Varnish - Swoole - Laravel Echo... Laradock introduces the **Workspace** Image, as a development environment. It contains a rich set of helpful tools, all pre-configured to work and integrate with almost any combination of Containers and tools you may choose. diff --git a/caddy/Dockerfile b/caddy/Dockerfile index d88fe390..aca00cdb 100644 --- a/caddy/Dockerfile +++ b/caddy/Dockerfile @@ -1,22 +1,17 @@ -FROM alpine:3.5 +FROM golang -MAINTAINER Eric Pfeiffer +MAINTAINER Huadong Zuo -ENV caddy_version=0.10.5 -ARG plugins=http.git +ARG plugins="git" -LABEL caddy_version="$caddy_version" architecture="amd64" +## If you come frome china, please ues it. -RUN apk update \ - && apk upgrade \ - && apk add --no-cache openssh-client git tar curl +# RUN echo "172.217.6.127 golang.org" >> /etc/hosts -RUN curl --silent --show-error --fail --location \ - --header "Accept: application/tar+gzip, application/x-gzip, application/octet-stream" -o - \ - "https://caddyserver.com/download/linux/amd64?plugins=${plugins}" \ - | tar --no-same-owner -C /usr/bin/ -xz caddy \ - && mv /usr/bin/caddy /usr/bin/caddy \ - && chmod 0755 /usr/bin/caddy +RUN go get github.com/abiosoft/caddyplug/caddyplug \ + && caddyplug install-caddy \ + && caddyplug install git +RUN caddy --version EXPOSE 80 443 2015 diff --git a/docker-compose.yml b/docker-compose.yml index e0fee7de..ae47a28d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -550,6 +550,17 @@ services: - frontend - backend +### MailDev Container ####################################### + + maildev: + build: ./maildev + ports: + - "${MAILDEV_HTTP_PORT}:80" + - "${MAILDEV_SMTP_PORT}:25" + networks: + - frontend + - backend + ### Selenium Container ######################################## selenium: diff --git a/env-example b/env-example index 0fe6ddb8..5d0360ca 100644 --- a/env-example +++ b/env-example @@ -76,6 +76,7 @@ PHP_FPM_INSTALL_OPCACHE=false PHP_FPM_INSTALL_EXIF=false PHP_FPM_INSTALL_AEROSPIKE=false PHP_FPM_INSTALL_MYSQLI=false +PHP_FPM_INSTALL_POSTGRES=false PHP_FPM_INSTALL_TOKENIZER=false PHP_FPM_INSTALL_INTL=false PHP_FPM_INSTALL_GHOSTSCRIPT=false @@ -205,6 +206,11 @@ PMA_PASSWORD=secret PMA_ROOT_PASSWORD=secret PMA_PORT=8080 +### MAILDEV ############################################################################################################ + +MAILDEV_HTTP_PORT=1080 +MAILDEV_SMTP_PORT=25 + ### VARNISH ############################################################################################################ VARNISH_CONFIG=/etc/varnish/default.vcl diff --git a/jenkins/Dockerfile b/jenkins/Dockerfile index 63480c7c..cfcba23f 100644 --- a/jenkins/Dockerfile +++ b/jenkins/Dockerfile @@ -25,8 +25,8 @@ VOLUME /var/jenkins_home # or config file with your custom jenkins Docker image. RUN mkdir -p /usr/share/jenkins/ref/init.groovy.d -ENV TINI_VERSION 0.13.2 -ENV TINI_SHA afbf8de8a63ce8e4f18cb3f34dfdbbd354af68a1 +ENV TINI_VERSION 0.16.1 +ENV TINI_SHA d1cb5d71adc01d47e302ea439d70c79bd0864288 # Use tini as subreaper in Docker container to adopt zombie processes RUN curl -fsSL https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini-static-amd64 -o /bin/tini && chmod +x /bin/tini \ @@ -36,10 +36,10 @@ COPY init.groovy /usr/share/jenkins/ref/init.groovy.d/tcp-slave-agent-port.groov # jenkins version being bundled in this docker image ARG JENKINS_VERSION -ENV JENKINS_VERSION ${JENKINS_VERSION:-2.32.3} +ENV JENKINS_VERSION ${JENKINS_VERSION:-2.73.2} # jenkins.war checksum, download will be validated using it -ARG JENKINS_SHA=a25b9a314ca9e76f9673da7309e1882e32674223 +ARG JENKINS_SHA=f6d1351beef34d980b32f8c463be505445f637e2fc62156fecd42891c53c97d3 # Can be used to customize where jenkins.war get downloaded from ARG JENKINS_URL=https://repo.jenkins-ci.org/public/org/jenkins-ci/main/jenkins-war/${JENKINS_VERSION}/jenkins-war-${JENKINS_VERSION}.war @@ -47,7 +47,7 @@ ARG JENKINS_URL=https://repo.jenkins-ci.org/public/org/jenkins-ci/main/jenkins-w # could use ADD but this one does not check Last-Modified header neither does it allow to control checksum # see https://github.com/docker/docker/issues/8331 RUN curl -fsSL ${JENKINS_URL} -o /usr/share/jenkins/jenkins.war \ - && echo "${JENKINS_SHA} /usr/share/jenkins/jenkins.war" | sha1sum -c - + && echo "${JENKINS_SHA} /usr/share/jenkins/jenkins.war" | sha256sum -c - ENV JENKINS_UC https://updates.jenkins.io RUN chown -R ${user} "$JENKINS_HOME" /usr/share/jenkins/ref @@ -71,7 +71,7 @@ RUN apt-get install -y curl && curl -sSL https://get.docker.com/ | sh RUN usermod -aG docker jenkins # Install Docker-Compose -RUN curl -L "https://github.com/docker/compose/releases/download/1.10.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose +RUN curl -L "https://github.com/docker/compose/releases/download/1.16.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose RUN chmod +x /usr/local/bin/docker-compose diff --git a/maildev/Dockerfile b/maildev/Dockerfile new file mode 100644 index 00000000..4484c832 --- /dev/null +++ b/maildev/Dockerfile @@ -0,0 +1,5 @@ +FROM djfarrelly/maildev + +MAINTAINER Maxime Hélias + +EXPOSE 80 25 diff --git a/php-fpm/Dockerfile-70 b/php-fpm/Dockerfile-70 index 07b984ca..6e6ebec6 100644 --- a/php-fpm/Dockerfile-70 +++ b/php-fpm/Dockerfile-70 @@ -207,6 +207,15 @@ RUN if [ ${INSTALL_MYSQLI} = true ]; then \ docker-php-ext-install mysqli \ ;fi +##################################### +# postgres Modifications: +##################################### + +ARG INSTALL_POSTGRES=false +RUN if [ ${INSTALL_POSTGRES} = true ]; then \ + docker-php-ext-install pgsql \ +;fi + ##################################### # Tokenizer Modifications: ##################################### diff --git a/php-fpm/Dockerfile-71 b/php-fpm/Dockerfile-71 index 9d9756ae..4d929949 100644 --- a/php-fpm/Dockerfile-71 +++ b/php-fpm/Dockerfile-71 @@ -216,6 +216,15 @@ RUN if [ ${INSTALL_MYSQLI} = true ]; then \ docker-php-ext-install mysqli \ ;fi +##################################### +# postgres Modifications: +##################################### + +ARG INSTALL_POSTGRES=false +RUN if [ ${INSTALL_POSTGRES} = true ]; then \ + docker-php-ext-install pgsql \ +;fi + ##################################### # Tokenizer Modifications: ##################################### diff --git a/postgres/Dockerfile b/postgres/Dockerfile index 56a4ddb8..423c5d6b 100644 --- a/postgres/Dockerfile +++ b/postgres/Dockerfile @@ -1,7 +1,7 @@ -FROM postgres:latest +FROM postgres:alpine MAINTAINER Ben M CMD ["postgres"] -EXPOSE 5432 \ No newline at end of file +EXPOSE 5432