Содержание

Webserver Apache

windows 10

Dockerfile
FROM php:7.2.10-apache
RUN apt-get update && apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libpng-dev \
        libicu-dev \
        libmemcached-dev \
        libbz2-dev \
        libssh2-1 \
        libssh2-1-dev \
        libssl-dev \
        librabbitmq-dev \
        libxml2-dev \
        unzip \
        git \
    && a2enmod rewrite \
    && docker-php-ext-install bcmath bz2 calendar exif opcache pdo_mysql mysqli intl zip soap \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install gd \
    && pecl install redis \
    && pecl install mongodb \
    && pecl install amqp \
    && docker-php-ext-enable redis mongodb amqp
RUN pecl install https://xdebug.org/files/xdebug-2.6.1.tgz \
    && pecl install ssh2-1.1.2 \
    && docker-php-ext-enable xdebug ssh2 \
    && echo "error_reporting = E_ALL" > /usr/local/etc/php/php.ini \
    && echo "display_startup_errors = On" >> /usr/local/etc/php/php.ini \
    && echo "display_errors = On" >> /usr/local/etc/php/php.ini \
    && echo "expose_php = Off" >> /usr/local/etc/php/php.ini \
    && echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.remote_connect_back=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.idekey=\"PHPSTORM\"" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.remote_port=9000" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.remote_host=10.0.75.1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && chmod 777 /var/log	
RUN echo "<VirtualHost *:80>" > /etc/apache2/sites-available/site.conf \
    && echo "DocumentRoot \"/var/www/site\"" >> /etc/apache2/sites-available/site.conf \
    && echo "ServerName site.localhost" >> /etc/apache2/sites-available/site.conf \
    && echo "ServerAlias www.site.localhost" >> /etc/apache2/sites-available/site.conf \
    && echo "</VirtualHost>" >> /etc/apache2/sites-available/site.conf \
	&& echo "<VirtualHost *:80>" > /etc/apache2/sites-available/werwolf.conf \
    && echo "DocumentRoot \"/var/www/werwolf\"" >> /etc/apache2/sites-available/werwolf.conf \
    && echo "ServerName werwolf.localhost" >> /etc/apache2/sites-available/werwolf.conf \
    && echo "ServerAlias www.werwolf.localhost" >> /etc/apache2/sites-available/werwolf.conf \
    && echo "</VirtualHost>" >> /etc/apache2/sites-available/werwolf.conf \
    && a2ensite site werwolf
docker-compose.yaml
version: '3.2' 
services:
 db:
   image: mysql:5.7
   restart: always
   environment:
      MYSQL_ROOT_PASSWORD: 2619192
      MYSQL_USER: werwolf
      MYSQL_PASSWORD: 2619192
      MYSQL_DATABASE: test
   ports:
      - 3306:3306
 adminer:
   image: adminer
   restart: always
   ports:
      - 8080:8080 
 apache: 
   build: ./apache 
   ports: 
     - 80:80 
   volumes: 
     - ./www:/var/www/html
     - ./site:/var/www/site
     - ./werwolf:/var/www/werwolf
   depends_on: 
     - db 

Docker toolbox

Dockerfile
FROM php:7.2.10-apache
RUN apt-get update && apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libpng-dev \
        libicu-dev \
        libmemcached-dev \
        libbz2-dev \
        libssh2-1 \
        libssh2-1-dev \
        libssl-dev \
        librabbitmq-dev \
        libxml2-dev \
        unzip \
        git \
    && a2enmod rewrite \
    && docker-php-ext-install bcmath bz2 calendar exif opcache pdo_mysql mysqli intl zip soap \
    && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
    && docker-php-ext-install gd \
    && pecl install redis \
    && pecl install mongodb \
    && pecl install amqp \
    && docker-php-ext-enable redis mongodb amqp
RUN pecl install https://xdebug.org/files/xdebug-2.6.1.tgz \
    && pecl install ssh2-1.1.2 \
    && docker-php-ext-enable xdebug ssh2 \
    && echo "error_reporting = E_ALL" > /usr/local/etc/php/php.ini \
    && echo "display_startup_errors = On" >> /usr/local/etc/php/php.ini \
    && echo "display_errors = On" >> /usr/local/etc/php/php.ini \
    && echo "expose_php = Off" >> /usr/local/etc/php/php.ini \
    && echo "xdebug.remote_enable=1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.remote_connect_back=0" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.idekey=\"PHPSTORM\"" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.remote_port=9000" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && echo "xdebug.remote_host=10.0.75.1" >> /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini \
    && chmod 777 /var/log	
# Виртуальный хост
RUN echo "<VirtualHost *:80>" > /etc/apache2/sites-available/phpmaster.conf \
    && echo "DocumentRoot \"/var/www/phpmaster\"" >> /etc/apache2/sites-available/phpmaster.conf \
    && echo "ServerName phpmaster.localhost" >> /etc/apache2/sites-available/phpmaster.conf \
    && echo "ServerAlias www.phpmaster.localhost" >> /etc/apache2/sites-available/phpmaster.conf \
    && echo "</VirtualHost>" >> /etc/apache2/sites-available/phpmaster.conf \
    && a2ensite phpmaster
# Куда же без composer'а.
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
WORKDIR /var/www/phpmaster
docker-compose.yml
version: '3.2' 
services:
 db:
   image: mysql:5.7
   restart: always
   environment:
      MYSQL_ROOT_PASSWORD: 2619192
      MYSQL_USER: werwolf
      MYSQL_PASSWORD: 2619192
      MYSQL_DATABASE: test
   ports:
      - 3306:3306
 adminer:
   image: adminer
   restart: always
   ports:
      - 8080:8080 
 apache: 
   build: ./apache 
   ports: 
     - 80:80 
   volumes: 
     - /apache/phpmaster/www:/var/www/phpmaster
   depends_on: 
     - db 
Настрока общих папок

путь к примонтированной папке: /apache/phpmaster/www