Skip to content

Instantly share code, notes, and snippets.

@pdxjohnny
Created May 29, 2015 21:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pdxjohnny/eeb891fc77130a01e6d0 to your computer and use it in GitHub Desktop.
Save pdxjohnny/eeb891fc77130a01e6d0 to your computer and use it in GitHub Desktop.
Dockerfile for apache-php setup

apache-php

Setup

Download Dockerfile Add what ever you need ( php addons like mysql mongo ) to apt-get install line

Build

docker build -t apache-php . mkdir www mkdir sites-enabled

Run

docker run --name test-apache-php -p 80:80 -v ${PWD}/www:/var/www -v ${PWD}/sites-enabled:/etc/apache2/sites-enabled -d apache-php

FROM ubuntu:latest
MAINTAINER John Andersen <johnandersenpdx@gmail.com>
RUN apt-get update
RUN apt-get -y upgrade
# Install apache, PHP, and supplimentary programs. curl and lynx-cur are for debugging the container.
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install apache2 libapache2-mod-php5 php5-mysql php5-gd php-pear php-apc php5-curl curl lynx-cur
# Enable apache mods.
RUN a2enmod php5
RUN a2enmod rewrite
# Update the PHP.ini file, enable <? ?> tags and quieten logging.
RUN sed -i "s/short_open_tag = Off/short_open_tag = On/" /etc/php5/apache2/php.ini
RUN sed -i "s/error_reporting = .*$/error_reporting = E_ERROR | E_WARNING | E_PARSE/" /etc/php5/apache2/php.ini
# Manually set up the apache environment variables
ENV APACHE_RUN_USER www-data
ENV APACHE_RUN_GROUP www-data
ENV APACHE_LOG_DIR /var/log/apache2
ENV APACHE_LOCK_DIR /var/lock/apache2
ENV APACHE_PID_FILE /var/run/apache2.pid
EXPOSE 80
# Copy site into place.
# ADD www /var/www
# Update the default apache site with the config we created.
# ADD apache-config.conf /etc/apache2/sites-enabled/000-default.conf
# By default, simply start apache.
CMD /usr/sbin/apache2ctl -D FOREGROUND
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment