概要
Docker Hubに公開されている、PHPのイメージでMySQL拡張モジュールをインストール方法について、まとめます。
今回使用するイメージは、下記のURLのものです。
PHPについて
今回インストールするMySQL拡張モジュールは、mysql_connectやmysql_queryなどのMySQLに対して操作をすることができる関数などが定義されています。しかし、これらは、PHP7では使うことができず、代わりに、MySQLiやPDO_MySQLなどを使うことが推奨されています。
よって、PHP7では使用することができないので、ここではPHP5.6を例に説明します。
拡張モジュールのインストール
ここでは、すでにイメージの取得が終わっているものとします。
私が使用したのは、「php:5.6」です。
このイメージには、PHPの拡張モジュールをインストールするための、docker-php-ext-configure
、docker-php-ext-install
、docker-php-ext-enable
などのコマンドが用意されています。
なので、これらを使うことによって、簡単に追加することができます。
MySQL拡張モジュールのインストールはコンテナ内で、下記のコマンドを実行するだけです。
docker-php-ext-install mysql
もし、php5.6-apacheなどのWebサーバも一緒にインストールしてあるイメージの場合には、反映させるために、再起動する必要があるかもしれません。
このコマンドを使うと他にも、PHPの拡張モジュールをインストールできます。
例として、MySQLiや、PDO_MySQLをインストールする例をかいておきます。
docker-php-ext-install mysqli pdo_mysql
Dockerfile
最後に、これらをインストールした状態のイメージを作ることができる、Dockerfileを用意しておきます。
From php:5.6
Run apt-get update && docker-php-ext-install mysql mysqli pdo_mysql mbstring
まとめ
このコマンドがあるということにさえ気づければ、とても簡単にインストールすることができました。