【まとめ】Macでphpを実行する環境をDockerに構築する方法

そろそろphpを勉強したくなったので、phpとApacheにて開発環境をDocker内に構築しようと思う。
(Apacheに次いで人気のNginxは別のコンテナを作る必要があったりと、初心者には敷居が高いので今回は見送り)



目次

  1. 必要なもの
  2. phpの公式イメージを確認
  3. ファイルの階層
  4. phpファイルの作成
  5. イメージとコンテナの作成
  6. 設定できたかの確認
  7. 参照


1. 必要なもの

今回はデータベース(mysql等)は使用せず、単にphpを実行してみたい場合の設定になる。

phpの公式イメージはDocker Hubから自動ダウンロード出来る。

index.phpは、表示させたい文字列を簡単なphpコードで記述したもの。



2. phpの公式イメージを確認

Docker Hubのサイトに行き、ページ上部の検索フォームに「php」と入力


検索結果の最上位にphpのOfficial Imageと印付けられた項目が表示される


それをクリックするとphpの公式イメージページが表示される。
その下の「Supported tags and respective Dockerfile links」内の
See "Supported tags and respective Dockerfile links" at https://github.com/docker-library/docs/tree/master/php/README.md」のリンクをクリック


使用できるイメージのタグ一覧が表示される。
その中の「apache」のタグを使うのでメモしておく


3. ファイルの階層

phpファイルを置く場所を決め、それを置いたフォルダの相対パスを確認する。

Desktop
  └php_test フォルダ
  		│
  		└index.php ファイル

相対パスで表示すると、

~/Desktop/php_test


4. phpファイルの作成

新規で「index.php」のPHPファイルを作成して、以下のコードを入力。

<?php echo "Hello, PHP on Docker!";


5. イメージとコンテナの作成

Docker Desktopにphp公式イメージを入れ、コンテナを作成する。

  1. コマンドプロンプトを開く(macの場合はTerminalなど。筆者は「iTerm」を使用)
  2. cdコマンドで、「index.php」を置いたフォルダに移動。上記「3. ファイルの階層」を参照するとコマンドは以下のように入力
    $ cd ~/Desktop/php_test
  3. 念のため、lsコマンドでファイルを確認。「index.php」が表示されればOK
    $ ls
  4. コンテナを作成するコマンドを入力
    $ docker run -d -p 4000:80 --name php -v ${PWD}:/var/www/html php:apache
  5. 実行すると、ズラズラとコマンドラインが出てくる
    $ docker run -d -p 4000:80 --name php -v ${PWD}:/var/www/html php:apache
    Unable to find image 'php:apache' locally
    apache: Pulling from library/php
    7d63c13d9b9b: Pull complete
    24b15dfd3cfa: Pull complete
    64625c2e355f: Pull complete
    275a8dd8f358: Pull complete
    eb1c8ccc797a: Pull complete
    0aaf98f0c33a: Pull complete
    e6e7c544c3e3: Pull complete
    6d2494716a7d: Pull complete
    4f8b80d5b9af: Pull complete
    ea6ae946fab9: Pull complete
    c4aa6e057fc8: Pull complete
    f9fc81d6b719: Pull complete
    645a7d3fce0a: Pull complete
    Digest: sha256:05e0776f39939336ba6cd14424bc0d1ff98dc1b20e3a4287515fd4decd8babc5
    Status: Downloaded newer image for php:apache
    f10deeca57b2ab62951dfceafd4124b59dfdb365c2fd7f86519c9d25bc9b322d


イメージの導入が成功したかを確認するには、イメージ一覧のための以下のコマンドを入力

$ docker images

コンテナ作成が成功したかを確認するには、コンテナ一覧のための以下のコマンドを入力

$ docker ps -a

または、Docker DesktopのDashboardでも確認できる。

Docker DesktopのDashboard内のImagesパネル


Docker DesktopのDashboard内のContainers / Appsパネル


6. 設定できたかの確認

ブラウザを開いて、URLバーに「localhost:4000」と入力してアクセスし、ブラウザにphpファイルに記述した「Hello, PHP on Docker!」が出たら、見事成功。

見事に成功!


7. 参照元

コマンドの詳細や、その他の情報については、大幅に参照させてもらった「Dockerでphpを実行するコンテナを作る | GRAYCODE」をご覧あれ。深謝。




Dockerの勉強のために購入した書籍。




コメント

よく読まれている記事

CSSボタンでテキストを天地中央に揃えるとき、なぜボタン高と行高を一緒にするのか

FullCalendarの導入からカレンダー毎の色指定まで

FacebookページのフィードURLを取得しウォールを自サイトに表示

Bloggerテンプレートのちょっとしたカスタマイズのまとめ

document.write() 複数行の記述方法