【まとめ】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ファイルを置く場所を決め、それを置いたフォルダの相対パスを確認する。

  1. Desktop
  2. php_test フォルダ
  3. index.php ファイル

相対パスで表示すると、

  1. ~/Desktop/php_test


4. phpファイルの作成

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

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


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

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

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


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

  1. $ docker images

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

  1. $ 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の勉強のために購入した書籍。




コメント

  1. Needless to say, we're glad we hedged our bets on this one. We've also added a pair of photographs from readers exhibiting different purported roulette anomaly occurrences on the backside of the unique submit. But Arizona tribes agreed to help off-reservation sports betting, which should kick off in September, in trade model spanking new|for model new} table games and sportsbooks of their own. Gifted with a superb thoughts that could retain numbers and statistics, he went to study drugs — a noble pursuit that 우리카지노 pleased his father. Traditional knowledge dictates that you should to} probably discuss to one of the Bunny Girls who give imprecise hints on the chance of a jackpot taking place. However, from what in a position to} inform, this doesn't really do something.

    返信削除

コメントを投稿

よく読まれている記事

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

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

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