Dockerでapacheサーバーを立ててphpでHello worldするまで
Django+PostgreSQLの環境を作る予定だったけど先日、3年くらい前から憧れていた札幌の企業に
エントリーしたらPHPでの実技試験があるとのことだったので、予習をすることに
今回はその第一弾としてphpの開発環境(DBなし)までやっていこうと思う。
まずはindex.phpの用意
ファイルはカレントディレクトリに作る
<?php <!-- index.php --> <?php echo 'Hello world!!';
Hello Worldするだけなのでとても簡単
次はDockerfileの作成
作らなくてもできるけどindex.phpを毎度コピーするのは面倒なので作る
なんとDockerには最初からphpとapacheがセットになった公式イメージがあるので
今回も目的はとても簡単に達成できる
hub.docker.com
# Dockerfile FROM php:7.2-apache LABEL maintainer="carametal" COPY ./ /var/www/html/
今回はmaintainerを設定してみた
maintainerはだれが管理しているimageなのかを示すラベルで
個人開発だし世の中に出すわけじゃないけどお試し
COPY命令でカレントディレクトリをコンテナの/var/www/htmlにコピーすることで
カレントディレクトリのindex.phpとDockerfileが/var/www/html配下にコピーされる
apacheは「IPアドレス/」へのアクセスに対して/var/www/html/index.phpをデフォルトで実行するので
これでOK
あとはビルドして実行する
docker build -t php7.2-apache . docker container run --rm -d -p 8000:80 --name php-test php7.2-apache
これでhttp://localhost:8000/にアクセスするとHello world!!と表示される
次回はMySQLを入れて簡単なDBアクセスを実行するところまでやっ見る予定