😀

DockerでLAMP環境を構築する方法を学んだ件

2022/05/17に公開

Dockerを勉強するために買った「Docker&Kubernetesのきほんのきほん」が良書で

Dockerに対する抵抗感がなくなり勉強するのが楽しくなっています。

素人的な考えかも知れませんが、開発リーダー的な人がdocker-compose.ymlを用意しておくだけで、

他のメンバーのローカルにdocker-conpose upするだけで環境構築ができるのがすご!と感じています。

そしてふと今まで勉強で使用していたMAMP環境ではなく、Dockerのコンテナを建ててLAMP環境を

構築しようと思ったの以下のYouTube動画を見ながら手を動かしてみました。

この方の英語が聴きやすかったです。

https://www.youtube.com/watch?v=zWyggxV51oQ

https://github.com/codeadamca/php-docker

しかし問題が生じました。

mysqliが動かないのです。

動かない理由はmysqliをインストールしていないからです。違う表現だと
mysqli拡張モジュールをインストールしていないからです。

実際にPHPの設定を確認するためにphpinfoを実行し、mysqliの存在を確認するとありませんでした。

phpinfo();

解決方法は以下の記事を参考、、、いや答えでした。
https://abillyz.com/vclbuff/studies/133

php:8.1.1-apacheイメージを元として、ビルドする際にmysqli拡張モジュールをインストールするような新たなDockerfileを作る。そのDockerfileをビルドして、イメージを作り、そのイメージを元にdocker-compose.ymlを作成し、コンテナを動かすと、、、

mysqliの関数たちが動き、phpinfoの結果にもmysqliが表示されるようになりました。

上で載せたYouTubeの方はdockerfileをいじらなくてもmysqliを使うことができてました。

なんでだろ、、、

Discussion