DockerでPHP7+Apacheを動かしてみた

イメージの取得。

# docker image pull php:7.4-apache

コンテナを生成して実行。ここでホストのディレクトリをゲストのwwwにマウントする-vオプションを付ける。

# docker container run -d --name test_php7 -v /home/user/apache_test:/var/www/html -p 80:80 -p 443:443 php:7.4-apache

もうこれだけで127.0.0.1にアクセスすれば動くのだが、このときは.htaccessによる設定変更が必要だったので下記も実行する。

# docker container exec -i -t test_php7 /bin/bash
# a2enmod rewrite

まだゲストのコンソールだと思うので、そのまま更にMySQL拡張もインストール。

# docker-php-ext-install pdo pdo_mysql

intl拡張も使うのでインストール。

# apt update
# apt install libicu-dev
# docker-php-ext-install intl

zip拡張も使うのでインストール。

# apt install libzip-dev
# docker-php-ext-install zip

gd拡張も使うのでインストール。
※この拡張を使うにはzip拡張が必要

# apt install libpng-dev libjpeg-dev libfreetype6-dev
# docker-php-ext-install gd

あとはコンテナを再起動して完了。