どうも、こうすけ(@kosuke_upd)です。
今回は、DockerでPHPの開発環境を構築する方法を解説します。
環境
- macOS High Sierra (10.13.6)
- Docker for Mac
DockerによるPHPの開発環境構築方法でお困りの場合はぜひ参考にしてみてください。
手順1. Docker for Mac のインストール
まずは、お使いのPCに、Docker for Macをダウンロードし、インストールしましょう。
Docker for Macの具体的なインストール方法をこちらで解説しているので、もしインストール方法がわからない場合はぜひ参考にしてみてください。
DockerをMacにインストールする方法
手順2. Docker イメージのビルド
手順2-1. Dockerfile の作成
DockerイメージをビルドするためにはDockerfileが必要です。
ターミナルを開き、下記のコマンドを実行し、任意のディレクトリ(ここでは「php_apache」)を作成し、そのディレクトリ配下にDockerfileを作成します。
mkdir php_apache
cd php_apache/
touch Dockerfile
手順2-2. Dockerfile の設定
作成したDockerfile内に下記のように記述しましょう。
FROM php:7.2.11-apache
FROMには、ベースとなるイメージとタグを指定します。上記のものは、公式のイメージ「PHP」の、タグ「7.2.11-apache」を指定しています。これは、PHP7.2.11とApacheが一つのコンテナに含まれているイメージです。
公式のDocker Hubでは様々なイメージが公開されており、使用することができます。
PHPの公式リポジトリはこちらで確認できます。
手順2-3. イメージをビルド
Dockerfileの設定が完了したら、ターミナルで下記のコマンドを実行し、指定したイメージをダウンロードしましょう。
docker build ./ -t php_apache_image
上記コマンドは下記のような意味です。※上記のコマンドではタグ名は省略しています。
docker build (Dockerfileのパス) -t (ビルドするイメージにつけるリポジトリ名):(タグ名)
手順2-4. イメージの確認
ターミナルで下記コマンドを実行して、ビルドされたイメージを確認しましょう。
docker images
下記のように表示され、ビルドされたイメージを確認できると思います。
REPOSITORY TAG IMAGE ID CREATED SIZE
php 7.2.11-apache cf1a377ba77f 9 days ago 377MB
php_apache_image latest cf1a377ba77f 9 days ago 377MB
手順3. マウント用ディレクトリの作成
コンテナ側にマウントするためのディレクトリを作成します。
Dockerコンテナ内のファイルは永続化されないため、ホスト側のディレクトリをコンテナ側にマウントすることでデータを永続化します。
ターミナルで下記のコマンドを実行し、Dockerfileと同じディレクトリにマウント用ディレクトリ「html」を作成しましょう。
mkdir html
手順4. コンテナの起動
手順4-1. コンテナの起動
準備ができたので、下記のコマンドを実行してコンテナを起動しましょう。
docker run -d -p 80:80 -v /Users/hoge/php_apache/html:/var/www/html --name php_apache_container php_apache_image
上記コマンドの説明を簡単にすると、下記の通りです。
docker run -d -p (ホスト側のポート):(コンテナ側のポート) -v (ホスト側のパス):(ゲスト側のパス) --name (コンテナにつける名前) (手順2-3でビルドしたイメージのリポジトリ名)
手順4-2. コンテナの起動確認
では、正常にコンテナが起動されているかを確認するために、ターミナルで下記コマンドを実行しましょう。
docker ps -a
すると、下記のように表示され、「STATUS」項目が「Up」となっていればコンテナが起動できている証拠です。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5b18724f6cb1 php_apache_image "docker-php-entrypoi…" 16 seconds ago Up 15 seconds 0.0.0.0:80->80/tcp php_apache_container
手順5. コンテンツを配置して動作確認
手順5-1. WEBページを作成
では、実際にコンテンツを作成して配置し、動作確認を行いましょう。
これまでの作業を手順通りに進めていれば、現在は「php_apache」ディレクトリにいるはずです。そのため、下記コマンドを実行して先程作成した「html」ディレクトリに移動しましょう。
cd html
「html」ディレクトリに移動したら、下記のコマンドを実行して「index.php」ファイルを作成しましょう。
touch index.php
作成した「index.php」ファイル内に書きを記述して保存しましょう。
<?php
phpinfo();
手順5-2. 作成したWEBページをブラウザで確認
では、作成したWEBページをブラウザで開いて正しく表示されるか確認しましょう。
ブラウザのアドレスバーに「localhost/index.php」または「localhost」と入力し実行してみてください。下記のように表示されたらOKです。
最後に
今回は、Dockerを用いたPHPの開発環境構築方法を解説しました。
Dockerを用いることで、以上のようにとても簡単に開発環境を構築できます。10分もあればできると思うので、ぜひチャレンジしてみてください。
\ 記事が良かったらシェア! /