DockerコンテナでPHP練習環境構築

用意した動機

Udemyのphpのコースを受講し始めたが、そのコースではCodeanywhereを前提としていた。Codeanywhere自体はネットワーク環境さえ問題なければ使いやすいのだが、無料期間が一週間のため自前でphpの簡易な練習環境を用意した。

www.udemy.com

PHP実行環境

  • Dockerコンテナで用意した。
  • 今回はシンプルにApacheをappサーバーとしたイメージを利用している。
  • コンテナ起動時にコンテナのルートディレクトリとホストのディレクトリを共有ディレクトリにすることで、ホスト側で普段使用しているテキストエディターでPHPファイルを編集、追加して作業する。
  • ローカルなので、サーバーはファイル一覧を表示するようにしている。

1. git cloneをする

github.com

2. Dockerfileからイメージを作成(Dockerfileに修正がなければ初回のみ)

  • イメージ作成
docker build -t php-pg .
  • イメージ確認
docker images

3. 共有ディレクトリを指定してコンテナ起動

docker run -it -d --name php-pg -v ${PATH}/contents:/var/www/html/ -p 8080:80 php-pg
docker run -it -d -v /home-dir-path/php/php-playgrounds/contents:/var/www/html/ --name php-pg -p 8080:80 php-pg

4. ブラウザで確認

http://localhost:8080/ にアクセスしてHello, World!が表示されることを確認する

5. 実際に練習

  • 3.で指定したホストの共有ディレクトリ内で作業する。元々あるindex.phpを編集してもいいし、新規にファイルやディレクトリを作成するなどしてもいい。

  • http://localhost:8080/をブックマークしておくと作業効率がいい。

その他

Apacheのファイルの一覧表示の設定の該当箇所。(Indexesを追加)

php-playground/apache2.conf at d18b69900bfb5723a4b7dc07e9dc0da10f3eeab9 · mizushou/php-playground · GitHub