DockerでPHP+Apache環境を作る
はじめに
環境
Windows 10 21H2 (19044.1348)
Docker Desktop
Docker Desktop
手順
1. 準備
2. Dockerイメージ取得
3. とりあえず実行
4. コンテナに接続しPHP.iniをホストへコピー
5. コンテナを停止・削除し、パラメータを付加してコンテナを起動
6. 動作確認
7. PHP.iniの編集
ホストにApacheとPHP.iniのフォルダを作成しておく
・D:\userdata\apache
・D:\userdata\php
・D:\userdata\apache
・D:\userdata\php
2. Dockerイメージ取得
PHPバージョンは8.1とした
docker pull php:8.1-apache
3. とりあえず実行
docker run --name php -d php:8.1-apache
4. コンテナに接続しPHP.iniをホストへコピー
PHP.iniは /usr/local/etc/php/ に入っている。これをD:\userdata\php\ へコピー
docker cp php:/usr/local/etc/php/ d:\userdata\
5. コンテナを停止・削除し、パラメータを付加してコンテナを起動
docker stop php docker rm php docker run --name php -d -p 8080:80 -v d:/userdata/php:/usr/local/etc/php -v d:/userdata/apache:/var/www/html --network docker_nw php:8.1-apacheパラメータ:
--name … コンテナ名をphpとする
-d … バックグラウンドで実行
-p … Apacheのポート80をホストの8080へマッピング
-v …
-d … バックグラウンドで実行
-p … Apacheのポート80をホストの8080へマッピング
-v …
コンテナのPHP設定フォルダ/usr/local/etc/php/をホストのd:\userdata\php\ へマッピング
コンテナのHTMLフォルダ/var/www/html/をホストのd:\userdata\apache\ へマッピング
-network …コンテナのHTMLフォルダ/var/www/html/をホストのd:\userdata\apache\ へマッピング
過去記事:Docker:MySQLを動かす で作ったMySQLコンテナと通信したいので、この時作成したDockerネットワーク "docker_nw" を指定
6. 動作確認
D:\userdata\apache\phpinfo.phpを新規作成
中身に ">?php phpinfo()" を記述
ブラウザで localhost:8080/phpinfo.php を開いてみる
phpinfoの画面が表示されれば成功
中身に ">?php phpinfo()" を記述
ブラウザで localhost:8080/phpinfo.php を開いてみる
phpinfoの画面が表示されれば成功
7. PHP.iniの編集
PHP.iniを作成し、とりあえずTimezoneがUTCとなっているので"Asia/Tokyo"に変更し、反映されることを確認
D:\userdata\php\php.ini-developmentをPHP.iniとしてコピーし編集
date.timezone の設定を検索、設定はコメントアウトされているのでコメントを除去し設定に"Asia/Tokyo"と指定する。
D:\userdata\php\php.ini-developmentをPHP.iniとしてコピーし編集
date.timezone の設定を検索、設定はコメントアウトされているのでコメントを除去し設定に"Asia/Tokyo"と指定する。
[Date] ; Defines the default timezone used by the date functions ; https://php.net/date.timezone date.timezone = "Asia/Tokyo"コンテナを再起動
docker restart phpブラウザでphpinfo.phpを表示しtimezoneが"Asia/Tokyo"となったことを確認する。
Docker, PHP
0 件のコメント:
コメントを投稿