├── docker-lamp ├── mysql │ ├── my.cnf │ ├── setup.sh │ ├── Dockerfile │ └── test.sql ├── php │ ├── hosts │ ├── php.ini │ ├── yourhost.com.conf │ └── Dockerfile ├── html │ └── index.php └── docker-compose.yml ├── README.md ├── LICENSE └── Untitled Diagram.xml /docker-lamp/mysql/my.cnf: -------------------------------------------------------------------------------- 1 | [mysqld] 2 | character-set-server=utf8 3 | -------------------------------------------------------------------------------- /docker-lamp/php/hosts: -------------------------------------------------------------------------------- 1 | 127.0.0.1 localhost 2 | 127.0.1.1 GT-DEV-MOYED 3 | 127.0.0.1 yourhost.com 4 | -------------------------------------------------------------------------------- /docker-lamp/mysql/setup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | service mysql start 4 | mysql < /mysql/setup.sql 5 | service mysql stop 6 | -------------------------------------------------------------------------------- /docker-lamp/php/php.ini: -------------------------------------------------------------------------------- 1 | [Date] 2 | date.timezone = "Asia/Tokyo" 3 | [mbstring] 4 | mbstring.internal_encoding = "UTF-8" 5 | mbstring.language = "Japanese" 6 | -------------------------------------------------------------------------------- /docker-lamp/mysql/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mysql:5.6 2 | COPY ./my.cnf /etc/mysql/conf.d/ 3 | MAINTAINER Moyed Ansari @imansaripk 4 | 5 | ENV MYSQL_DATABASE=cg_apiserver \ 6 | MYSQL_ROOT_PASSWORD=root 7 | 8 | ADD ./test.sql /docker-entrypoint-initdb.d 9 | 10 | EXPOSE 3306 11 | -------------------------------------------------------------------------------- /docker-lamp/html/index.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docker-lamp/php/yourhost.com.conf: -------------------------------------------------------------------------------- 1 | 2 | ServerName www.yourhost.com 3 | 4 | ServerAdmin webmaster@localhost 5 | DocumentRoot /var/www/html/ 6 | 7 | ErrorLog ${APACHE_LOG_DIR}/error.log 8 | CustomLog ${APACHE_LOG_DIR}/access.log combined 9 | 10 | 11 | # vim: syntax=apache ts=4 sw=4 sts=4 sr noet 12 | -------------------------------------------------------------------------------- /docker-lamp/php/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:5.6-apache 2 | MAINTAINER Moyed Ansari @imansaripk 3 | 4 | COPY php.ini /usr/local/etc/php/ 5 | RUN apt-get update \ 6 | && apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng12-dev libmcrypt-dev \ 7 | && docker-php-ext-install pdo_mysql mysqli gd iconv 8 | COPY ./yourhost.com.conf /etc/apache2/sites-available/ 9 | COPY ./hosts /etc/hosts 10 | #RUN a2enmod rewrite 11 | 12 | RUN service apache2 restart 13 | WORKDIR /etc/apache2/sites-available/ 14 | RUN a2ensite yourhost.com.conf 15 | 16 | 17 | -------------------------------------------------------------------------------- /docker-lamp/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2' 2 | 3 | services: 4 | db: 5 | build: ./mysql 6 | volumes: 7 | - db_data:/var/lib/mysql 8 | environment: 9 | MYSQL_ROOT_PASSWORD: root 10 | php: 11 | build: ./php 12 | ports: 13 | - '8000:80' 14 | restart: always 15 | volumes: 16 | - /var/log/apache2/error.log:/var/log/apache2/error.log 17 | - /var/log/apache2/access.log:/var/log/apache2/access.log 18 | - /var/www/html/ProjectRoot/:/var/www/html 19 | depends_on: 20 | - db 21 | volumes: 22 | db_data: 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LAMP Docker 2 | 3 | This is an unofficial, open-source and community-driven boilerplate for LAMP based projects that run on Docker-Compose. It's an attempt of standardizing and making it easier to bootstrap LAMP applications ready for development environments. 4 | The main services included are: 5 | 6 | * Apache 2.4 7 | * Mysql 5.6 8 | * PHP 5.6 9 | * Ubuntu 15.10 Debian jessie 10 | 11 | 12 | ## Requirements 13 | 14 | * Install Docker > 1.12 15 | * Install Docker Compose > 1.11 16 | 17 | Before anything, you need to make sure you have Docker properly setup in your environment. For that, refer to the official documentation for both Docker and Docker Compose. 18 | 19 | Also, if you're developing on Mac or Windows – yeah, maybe that's the case –, make sure you have Docker Machine properly setup. 20 | 21 | ## Usage 22 | 23 | You are up and running in three simple steps: 24 | ```sh 25 | check out latest stable release 26 | $ git checkout $(git describe --abbrev=0 --tags) 27 | $ cd docker-lamp 28 | $ docker-compose up --build -d 29 | ``` 30 | 31 | Enjoy! 32 | -------------------------------------------------------------------------------- /docker-lamp/mysql/test.sql: -------------------------------------------------------------------------------- 1 | /* 2 | SQLyog Professional v12.09 (64 bit) 3 | MySQL - 5.7.17-0ubuntu0.16.04.1 : Database - cg_apiserver 4 | ********************************************************************* 5 | */ 6 | 7 | 8 | /*!40101 SET NAMES utf8 */; 9 | 10 | /*!40101 SET SQL_MODE=''*/; 11 | 12 | /*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */; 13 | /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */; 14 | /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */; 15 | /*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */; 16 | CREATE DATABASE /*!32312 IF NOT EXISTS*/`TestDB` /*!40100 DEFAULT CHARACTER SET latin1 */; 17 | 18 | USE `TestDB`; 19 | 20 | /*Table structure for table `addons` */ 21 | 22 | DROP TABLE IF EXISTS `users`; 23 | 24 | CREATE TABLE `users` ( 25 | `id` int(11) NOT NULL AUTO_INCREMENT, 26 | `type` int(11) NOT NULL, 27 | `server_id` int(11) NOT NULL, 28 | `app_id` int(11) DEFAULT NULL, 29 | `info` varchar(1000) NOT NULL, 30 | PRIMARY KEY (`id`) 31 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1; 32 | 33 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 Ansari 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Untitled Diagram.xml: -------------------------------------------------------------------------------- 1 | 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 --------------------------------------------------------------------------------