Docker:PHP環境を作る 1

DockerでPHP+Apache環境を作る


環境

Windows 10 21H2 (19044.1348)
Docker Desktop

手順

1. 準備
ホストにApacheとPHP.iniのフォルダを作成しておく
・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 …
コンテナのPHP設定フォルダ/usr/local/etc/php/をホストのd:\userdata\php\ へマッピング
コンテナのHTMLフォルダ/var/www/html/をホストのd:\userdata\apache\ へマッピング
-network …
過去記事:Docker:MySQLを動かす で作ったMySQLコンテナと通信したいので、この時作成したDockerネットワーク "docker_nw" を指定

6. 動作確認
D:\userdata\apache\phpinfo.phpを新規作成
中身に ">?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"と指定する。
[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 件のコメント:

その他の記事