InfraAcademy

InfraAcademy Blog

【簡単】Dockerを使ってphpの環境を構築する方法解説【phpの環境をすぐに作成】

| #Docker #apache #php

こんにちは、フルスタックエンジニアのryuです。

今回の記事では、Dockerを使ってphpの環境を構築する方法を解説します。phpの動作環境を自分で構築するのは面倒なので、Dockerを使って簡単に構築しましょう。Dockerfileを作成して起動すればphpが動作する環境を構築することができます。

Dockerを使ってphpの環境を構築する方法

どうやってphpの環境を構築すればいいの・・・?

今回の記事では、Dockerを使ってphpの環境を構築する方法を解説します。Dockerを使用すればphpの環境が簡単に構築することができます。手順は以下の通りです。

  • php用のDockerfileを作成
  • Dockerfileをビルド
  • コンテナを起動
  • phpの動作を確認する

今回の記事は、こちらの記事を参考にしております。php (docker.com)

では、詳しく解説します。

php用のDockerfileを作成する

まず、php用のDockerfileを作成します。Dockerfileとは、コンテナを起動させるための基となるファイルです。phpの環境を構築するための情報を記載します。

ファイルの中身は以下の通りです。

FROM php:7.2-apache
COPY . /var/www/html/

また、起動させる用のphpファイルも作成しておきましょう。

<?php
phpinfo();
?>

Dockerfileについて詳しく分からない方はこちらの記事を参考にしてください。

Dockerfileとは?【初心者向け】書き方やイメージの作成方法を解説【Docker入門④】

今回のDockerfileはphpのイメージを持ってきて、ローカルのindex.phpファイルをコピーしています。

Dockerfileをビルドしてphpのコンテナを起動させる

次にdockerfileをビルドしてphp環境のコンテナを起動させます。

コマンドは以下の通りです。コマンドはDockerfileがあるディレクトリで実行しましょう。

docker build -t php-app .

ビルドを開始するとDockerHubよりphpのイメージをpullします。

イメージのビルドが完了したら、コンテナを起動します。

docker run -d -it -p 80:80 --rm php-app

phpのコンテナを起動 “-p”のオプションを使って、ローカルの80番ポートとコンテナの80番ポートを紐づけます。コンテナが正常に起動したら完了です。

phpが動作しているか確認する

最後に、phpが動作しているか確認しましょう。ブラウザから、「http://loclahost」にアクセスしてみましょう。アクセスすると、phpinfoの画面を表示することができます。

phpが動作しているか確認 正常に動作できたら完成です!

もし不具合がある場合はログを確認してみましょう。

docker ps
→コンテナ名を確認

docker logs [コンテナ名]
→ログを確認

もしエラーが発生していると、原因がログに出ます。

Dockerを使ってphpの環境作成まとめ

今回の記事では、Dockerを使ってphpの環境を作成しました。まとめると以下のようになります。

  • phpのDockerfileを作成
  • Dockerfileをビルドしてコンテナ起動
  • phpの動作を確認する

phpの環境作成は面倒なので、Dockerを活用すると便利です。ぜひ覚えておきましょう。

当ブログでは、インフラに関する技術を発信しているので興味のある方は是非ご覧ください。

さらにDockerを勉強したい方は、こちらの動画や参考書がオススメです。

ゼロからはじめる Dockerによるアプリケーション実行環境構築

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る