PHP実行環境をdockerで作る
圧倒的今更感
メモだけ
ディレクトリ構成
. ├── Dockerfile ├── apache-config.conf ├── application │ └── webroot │ └── index.php └── docker-compose.yml
各ファイル
Dockerfile
FROM php:5.6-apache RUN a2enmod rewrite EXPOSE 80 # Update the default apache site with the config we created. ADD apache-config.conf /etc/apache2/sites-enabled/000-default.conf
apache-config.conf
<VirtualHost *:80> #ServerName www.example.com # ServerAdmin webmaster@localhost DocumentRoot /var/www/html/webroot <Directory /var/www/html/webroot> # ... </Directory> ErrorLog /var/log/apache2/error.log CustomLog /var/log/apache2/access.log combined </VirtualHost> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
docker-compose.yml
php-web: build: . ports: - "80:80" volumes: - ./application:/var/www/html
application_webroot_index.php
<?php phpinfo();
構築
$ docker-machine create --driver virtualbox --virtualbox-cpu-count 2 --virtualbox-memory 4096 php-local $ docker-machine env php-local $ eval "$(docker-machine env php-local)" $ cd /path/to/workdir $ docker-compose build $ docker-compose up
あとは docker-machine env php-local
で確認した IPにアクセス。
docker-compose.yml
に他のミドルウェアとかを追記しつつ作業していく