Add docker-compose.yml file to build development environment based on Docker

This commit is contained in:
TuxGasy
2017-07-03 12:30:41 +02:00
parent c56ea50251
commit bb6b8015fe
3 changed files with 56 additions and 7 deletions

View File

@@ -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 \ RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev libldap2-dev \
&& rm -rf /var/lib/apt/lists/* \ && 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 \ && docker-php-ext-install mysqli \
&& apt-get purge -y libpng12-dev libjpeg-dev libldap2-dev && apt-get purge -y libpng12-dev libjpeg-dev libldap2-dev
COPY htdocs/ /var/www/html/ COPY docker-run.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-run.sh
RUN chown -hR www-data:www-data /var/www/html
VOLUME /var/www/html/conf
VOLUME /var/www/html/documents
EXPOSE 80 EXPOSE 80
ENTRYPOINT ["docker-run.sh"]

33
docker-compose.yml Normal file
View File

@@ -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"

15
docker-run.sh Normal file
View File

@@ -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 <<EOF > /usr/local/etc/php/php.ini
date.timezone = $PHP_INI_DATE_TIMEZONE
display_errors = On
EOF
fi
exec apache2-foreground