LAMP環境を導入しようと思ったらdocker-composeにハマった話。
PHPも担当することになったのですが当然のように知識がないので、まずは環境作りから。
普段はdockerとVisual Studio Codeを使って勉強していて、JavaScriptはVScodeからnode.jsの入ったコンテナにattachして利用しているんですが、PHPも同じようにすれば行けると思って適当にpullしてきたphpのコンテナを使うと全然上手くいかない。
PHPとdockerで検索するとどうもXAMPやらLAMPやらを利用しなければいけないことを理解。
PHPとJavaScriptは同じスクリプト言語だが、PHPはサーバーサイドのスクリプト言語で、JavaScriptはクライアントサイドのスクリプト言語なので、PHPはそれを動かすサーバーを立ててやらないと動作すらしないということなんですね。
ということでLAMP環境を作ってくれるこちらの記事の設定をそのまま使用させていただきました。
https://www.koreyome.com/web/docker-environment-like-xampp/
しかし、これで余裕と思ったらこの謎のエラー。どうもdocker-composeが良くないらしい。
[4335] Failed to execute script docker-compose
ちょっと良く分からなかったんですが、docker-composeのバージョンを下記のように1.22.5から1.11.1にダウングレードしてみるとdocker-composeが通るようになりました。
% curl -L "https://github.com/docker/compose/releases/download/1.11.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
1.22系ではどのバージョンでも上手くいかなかったので、1.22のアップデートで入ったバグだったのかな?
とりあえずここまでくるのに3時間ほど沼にハマったものの待望のDockerのLAMP環境が整ったので、PHPささっと勉強してきます!
とりあえず友達に勧められたこれから。