dockerファイルからdockerイメージを生成し、ローカルPCにPHPの開発環境を構築します。
ベースイメージはCentOs7を使用し、apache2.4、php7.3をインストールします。
ローカルPCは Mac を使用します。
なお、以下が理解出来た後に、当項を読むことをお勧めします。
目次
前提と準備
dockerのインストール
dockerをインストールして下さい。
dockerが使用出来ることを前提としています。
作業ディレクトリ
作業ディレクトリはローカルPCの任意のディレクトリとします。
手順では以下を作業ディレクトリとして使用します。
適宜各自の環境に読み替えて手順を行って下さい。
mkdir -p /Users/dennie/Documents/30_docker/test
共有ディレクトリ
webサーバのドキュメントルートとローカルPCの開発ディレクトリを共有する為、dockerコンテナとの共有ディレクトリを作成します。
このディレクトリにPHPのプロジェクトを作成します。
手順では以下を共有ディレクトリとして使用するので、ローカルPCに以下のディレクトリを作成します。
なお、適宜各自の環境に読み替えて手順を行って下さい。
mkdir -p /Users/dennie/Documents/30_docker/test/php_prj
dockerfileの内容
dockerファイルの内容は以下を参照して下さい。
また、dockerファイルのファイル名は”dockerfile”とし以下へ配置します。
/Users/dennie/Documents/30_docker/test
PHP起動確認ファイルの内容
webサーバ上でphpが実行することを確認する為、”index.php” という名前で確認ファイルを作成します。
内容は以下になります。
<?php phpinfo(); ?>
上記内容のファイルを 共有ディレクトリ へ配置します。
/Users/dennie/Documents/30_docker/test/php_prj
手順
作業ディレクトリへ移動
作業ディレクトリへ移動します。
cd /Users/dennie/Documents/30_docker/test
イメージの作成
buildコマンドを使用して、dockerfileからイメージを生成します。(※1)
以下は、カレントディレクトリに dockerfile が存在し、dockerイメージの名前を”centos_php″として、 buildコマンド を実行しています。
※1 ・・・ CentOs7で各パッケージをインストールする時にキーが必要で警告が出ますが、インストールは行えます。
docker build -t centos_php .
コンテナの起動
作成したイメージからコンテナを起動します。
起動コマンドの説明は、以降で説明します。
docker run -itd --privileged --name centos_php_container -p 3002:80 -v /Users/dennie/Documents/30_docker/test/php_prj:/var/www/html centos_php /sbin/init
phpの確認
ローカルホストへhttpで接続し、webサーバ上でphpが動作することを確認して下さい。
http://localhost:3002
コンテナ起動コマンドの説明
今回指定した起動コマンドを説明します。
ポート指定
dockerfile へ apacheのポート80 を開放するように記載したので、ホストOSからポート3002を使用するとゲストOSでポート80が使用されるように指定します。
-p 3002:80
共有ディレクトリ
ホストOSとゲストOSのディレクトリを共有し、共有したディレクトリをドキュメントルートとして使用します。
-v /Users/dennie/Documents/30_docker/test/php_prj:/var/www/html
最後に
次回はさらにmysqlのコンテナを同じネットワークに参加させて、LAMP環境を構築します。