From bb6b8015fe8dd841a1f45eb6e56f24a1f5fa94af Mon Sep 17 00:00:00 2001 From: TuxGasy Date: Mon, 3 Jul 2017 12:30:41 +0200 Subject: [PATCH] Add docker-compose.yml file to build development environment based on Docker --- Dockerfile | 15 ++++++++------- docker-compose.yml | 33 +++++++++++++++++++++++++++++++++ docker-run.sh | 15 +++++++++++++++ 3 files changed, 56 insertions(+), 7 deletions(-) create mode 100644 docker-compose.yml create mode 100644 docker-run.sh diff --git a/Dockerfile b/Dockerfile index 00a5d0ef567..caa7b0c436a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,7 @@ -FROM php:5.6-apache +FROM php:7.0-apache + +ENV HOST_USER_ID 33 +ENV PHP_INI_DATE_TIMEZONE 'UTC' RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libldap2-dev \ && rm -rf /var/lib/apt/lists/* \ @@ -9,11 +12,9 @@ RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libldap2-dev \ && docker-php-ext-install mysqli \ && apt-get purge -y libpng12-dev libjpeg-dev libldap2-dev -COPY htdocs/ /var/www/html/ - -RUN chown -hR www-data:www-data /var/www/html - -VOLUME /var/www/html/conf -VOLUME /var/www/html/documents +COPY docker-run.sh /usr/local/bin/ +RUN chmod +x /usr/local/bin/docker-run.sh EXPOSE 80 + +ENTRYPOINT ["docker-run.sh"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000000..2f0b5536d4f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,33 @@ +# This docker-compose.yml file is used to build and run Dolibarr +# in the current workspace +# +# Before build/run, define the variable HOST_USER_ID as following: +# $ export HOST_USER_ID=$(id -u) +# And then, you can run : +# $ docker-compose up + +mariadb: + image: mariadb:latest + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: dolibarr + +phpmyadmin: + image: phpmyadmin/phpmyadmin + environment: + PMA_HOST: mariadb + links: + - mariadb + ports: + - "8080:80" + +web: + build: . + environment: + HOST_USER_ID: $HOST_USER_ID + volumes: + - ./htdocs:/var/www/html + links: + - mariadb + ports: + - "80:80" diff --git a/docker-run.sh b/docker-run.sh new file mode 100644 index 00000000000..c151e1c3cab --- /dev/null +++ b/docker-run.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +usermod -u $HOST_USER_ID www-data +groupmod -g $HOST_USER_ID www-data + +chown -hR www-data:www-data /var/www + +if [ ! -f /usr/local/etc/php/php.ini ]; then + cat < /usr/local/etc/php/php.ini +date.timezone = $PHP_INI_DATE_TIMEZONE +display_errors = On +EOF +fi + +exec apache2-foreground