【docker】dockerファイルを使用したPHPの環境構築

dockerファイルからdockerイメージを生成し、ローカルPCにPHPの開発環境を構築します。
ベースイメージはCentOs7を使用し、apache2.4、php7.3をインストールします。
ローカルPCは Mac を使用します。
なお、以下が理解出来た後に、当項を読むことをお勧めします。

合わせて読もう

dockerファイルについて

前提と準備

dockerのインストール

dockerをインストールして下さい。
dockerが使用出来ることを前提としています。

作業ディレクトリ

作業ディレクトリはローカルPCの任意のディレクトリとします。
手順では以下を作業ディレクトリとして使用します。
適宜各自の環境に読み替えて手順を行って下さい。

共有ディレクトリ

webサーバのドキュメントルートとローカルPCの開発ディレクトリを共有する為、dockerコンテナとの共有ディレクトリを作成します。
このディレクトリにPHPのプロジェクトを作成します。
手順では以下を共有ディレクトリとして使用するので、ローカルPCに以下のディレクトリを作成します。
なお、適宜各自の環境に読み替えて手順を行って下さい。

dockerfileの内容

dockerファイルの内容は以下を参照して下さい。

また、dockerファイルのファイル名は”dockerfile”とし以下へ配置します。

PHP起動確認ファイルの内容

webサーバ上でphpが実行することを確認する為、”index.php” という名前で確認ファイルを作成します。
内容は以下になります。

上記内容のファイルを 共有ディレクトリ へ配置します。

手順

作業ディレクトリへ移動

作業ディレクトリへ移動します。

イメージの作成

buildコマンドを使用して、dockerfileからイメージを生成します。(※1)
以下は、カレントディレクトリに dockerfile が存在し、dockerイメージの名前を”centos_php″として、 buildコマンド を実行しています。
※1 ・・・ CentOs7で各パッケージをインストールする時にキーが必要で警告が出ますが、インストールは行えます。

コンテナの起動

作成したイメージからコンテナを起動します。
起動コマンドの説明は、以降で説明します。

mysqlなどをネットワークで連携しない場合は以下のコマンドを実行します。

mysqlなどを連携する場合、ネットワークを指定します。

phpの確認

ローカルホストへhttpで接続し、webサーバ上でphpが動作することを確認して下さい。

コンテナ起動コマンドの説明

今回指定した起動コマンドを説明します。

ネットワーク指定

mysqlなどを連携させる場合、参加させたいネットワークを指定します。

ポート指定

dockerfile へ apacheのポート80 を開放するように記載したので、ホストOSからポート3002を使用するとゲストOSでポート80が使用されるように指定します。

共有ディレクトリ

ホストOSとゲストOSのディレクトリを共有し、共有したディレクトリをドキュメントルートとして使用します。

まとめ

次回はさらにmysqlのコンテナを同じネットワークに参加させて、LAMP環境を構築します。

© DeNnie.Lab All Rights Reserved.