DockerでPHPとApacheの実行環境を立ち上げる
目次
DockerでPHP&Apacheの環境構築
Dockerコンテナを使ってホスト上にPHPとApacheの実行環境を構築する方法を紹介します。
本記事で使用するDockerfileはこちらからダウンロード出来ます。
Download
Macのローカル開発環境で実施した内容ですが、windows版Dockerでも基本的に同じかと思います。
環境: Docker version 19.03.13, Mac OS 10.15.7
公式Dockerイメージを使用する
DockerでPHPとApacheのコンテナを作成する場合、
以前の記事で紹介しているようなベースとなるイメージから作成したコンテナに自前でPHPとApacheを追加インストールしていく方法を行わなくても、docker hubにはあらかじめPHPとApacheがセットになった公式イメージが用意されていますのでそちらを利用した方法を紹介します。
上記よりPHPバージョン7系とApacheがセットになったこちらのイメージが良さそうです。
php:7.4.15-apache
ターミナルからコマンドを実行してイメージを取得する
docker pull php:7.4.15-apache
実行環境コンテナの作成
上記で取得したPHP & Apacheのイメージからそのままコンテナを作成することも出来ますが、
今回は後々MySQLデータベースへ接続することを考慮してPHPからMySQLへ接続するためのPDOライブラリの有効化設定を含むDockerfileを作成し、そこからコンテナの元となるイメージを新たにビルドすることにします。
Dockerfileの作成
任意の場所に下記の内容で記述したDockerfileを作成します。
Dockerfile
FROM php:7.4.15-apache
RUN apt-get update && docker-php-ext-install pdo_mysql
FROM句には先ほど確認したPHP公式イメージの名前(タグを含む)を指定します。
イメージのビルド
Dockerfileの作成、保存が完了したらファイルの存在するパスで下記コマンドを実行してビルドします。
docker build -t php-apache .
-tのあとに指定する作成イメージ名(php-apache)は任意となります。
ビルドに成功すると、一覧よりビルドしたイメージが確認出来ます。
イメージ一覧確認コマンド
docker images
コンテナの作成&起動
実行したいPHPファイルのあるプロジェクトのパスで下記コマンドを実行し、ビルドしたイメージからコンテナ(phpcont)を作成します。
docker run -d --name phpcont -v $(pwd):/var/www/html -p 81:80 php-apache
各オプションの詳細についてはこちらの記事などを参照ください。
コンテナの起動に成功したらブラウザからコンテナで起動中のWebサーバにアクセスすることが出来ます。
上記の場合、ホスト側のアクセスポートを81としているのでWebブラウザからは下記URLでアクセスします。
http://localhost:81/
(index.phpなどコンテナを起動したパスに実行ファイルを設置しておきます)
“DockerでPHPとApacheの実行環境を立ち上げる” に対して1件のコメントがあります。
コメントは受け付けていません。