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 件のコメント:
コメントを投稿