From d41d7f4f5a70b6d058e2ddf98c159a8de75a920e Mon Sep 17 00:00:00 2001 From: Dominik Schwind Date: Sat, 10 Nov 2018 12:31:51 +0100 Subject: [PATCH] docker-compose, basic scripts. --- docker-compose.yml | 35 ++++++++++++++++++++++++++++++++++ docker/apache/000-default.conf | 8 ++++++++ docker/apache/Dockerfile | 26 +++++++++++++++++++++++++ docker/build.sh | 14 ++++++++++++++ docker/down.sh | 14 ++++++++++++++ docker/start.sh | 14 ++++++++++++++ 6 files changed, 111 insertions(+) create mode 100644 docker-compose.yml create mode 100644 docker/apache/000-default.conf create mode 100644 docker/apache/Dockerfile create mode 100755 docker/build.sh create mode 100755 docker/down.sh create mode 100755 docker/start.sh diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..16a77af --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,35 @@ +version: '3' + +services: + webserver: + build: ./docker/apache + restart: unless-stopped + depends_on: + - db + volumes: + - .:/var/www/html:cached + ports: + - ${portWebserver}:80 + db: + image: mysql:5.7 + restart: unless-stopped + volumes: + - db_data:/var/lib/mysql + - ./docker/tmp:/tmp + - ./docker/database:/docker-entrypoint-initdb.d/ + ports: + - ${portDatabase}:3306 + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: ${dbName} + MYSQL_USER: ${dbUser} + MYSQL_PASSWORD: ${dbPassword} + redis: + image: redis:5 + restart: unless-stopped + volumes: + - redis_data:/data + +volumes: + db_data: + redis_data: diff --git a/docker/apache/000-default.conf b/docker/apache/000-default.conf new file mode 100644 index 0000000..c1a7d84 --- /dev/null +++ b/docker/apache/000-default.conf @@ -0,0 +1,8 @@ + + ServerName localhost + DocumentRoot "/var/www/html/compass/public" + + AllowOverride All + Require all granted + + diff --git a/docker/apache/Dockerfile b/docker/apache/Dockerfile new file mode 100644 index 0000000..4cb60d1 --- /dev/null +++ b/docker/apache/Dockerfile @@ -0,0 +1,26 @@ +FROM php:7.1-apache-jessie + +RUN apt-get update --fix-missing + +RUN apt-get -y install sudo &&\ + apt-get -y install curl &&\ + apt-get -y install git &&\ + apt-get -y install zip unzip &&\ + apt-get -y install vim && \ + apt-get -y install libicu-dev + +RUN docker-php-ext-configure intl + +RUN docker-php-ext-install pdo pdo_mysql mysqli intl + +RUN curl -sS https://getcomposer.org/installer | php && chmod +x composer.phar && mv composer.phar /usr/local/bin/composer + + + +RUN a2enmod rewrite + +RUN echo "ServerName compass" | sudo tee /etc/apache2/conf-available/servername.conf && a2enconf servername + +COPY ./000-default.conf /etc/apache2/sites-enabled/000-default.conf + +RUN apachectl graceful \ No newline at end of file diff --git a/docker/build.sh b/docker/build.sh new file mode 100755 index 0000000..ab0aaf8 --- /dev/null +++ b/docker/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash +export projectName='compass' + +export dbName=${projectName} +export dbUser='user' +export dbPassword='user' + + +export portWebserver='80' +export portDatabase='3306' + + +docker-compose -f docker-compose.yml -p ${projectName} build + diff --git a/docker/down.sh b/docker/down.sh new file mode 100755 index 0000000..c6b60f1 --- /dev/null +++ b/docker/down.sh @@ -0,0 +1,14 @@ +#!/bin/bash +export projectName='compass' + +export dbName=${projectName} +export dbUser='user' +export dbPassword='user' + + +export portWebserver='80' +export portDatabase='3306' + + +docker-compose -f docker-compose.yml -p ${projectName} down + diff --git a/docker/start.sh b/docker/start.sh new file mode 100755 index 0000000..1cf178f --- /dev/null +++ b/docker/start.sh @@ -0,0 +1,14 @@ +#!/bin/bash +export projectName='compass' + +export dbName=${projectName} +export dbUser='user' +export dbPassword='user' + + +export portWebserver='80' +export portDatabase='3306' + + +docker-compose -f docker-compose.yml -p ${projectName} up -d +