先週、PHP 8.1がリリースされ、先程dockerのイメージもダウンロードできるようになったので、docker上でPHP 8.1を試してみたいと思います。
なぜ、dockerなのか
PHP 8.1の環境を用意するのが大変だったため。dockerだと楽じゃないですか!
ということで、こちらのdocker-library/php
の8.1のPull Requestがマージされるのを毎日楽しみにしてました。
そして、今朝確認したらマージされてたので、次にdockerのイメージが使えるようになるまでワクワクでした。そしてそして、イメージも利用できるようになったので、今回実際に使ってみたということです。
動作環境
以下のようなmac上で実施しました。
- macOS Big Sur 11.6
- MacBook Air (Retina, 13-inch, 2018)
- 1.6 GHz デュアルコアIntel Core i5
- 16 GB 2133 MHz LPDDR3
※最近流行りのM1 macではないです
docker pullでエラー
早速、PHP 8.1のイメージを落とそうとしました。cliで実施するため、php:8.1.0-cliを使用したいと思います。
$ docker pull php:8.1.0-cli 8.1.0-cli: Pulling from library/php no matching manifest for linux/amd64 in the manifest list entries
そしたら、no matching manifest for linux/amd64 in the manifest list entries
というログが出力され、失敗してしまいました。
どうやらプラットフォームが違うようです。
こう書いてあったので、何も考えずに一番上のlinux/arm/v5
を使用したいと思います。
$ docker pull --platform linux/arm/v5 php:8.1.0-cli 8.1.0-cli: Pulling from library/php a960a56baa1b: Pull complete e2d62576d1f6: Pull complete 0656b9bd7ea7: Pull complete af8f131fa288: Pull complete 2ff1e3838123: Pull complete 6f0113a6482f: Pull complete 6fdf729cdd9e: Pull complete 1bbf7e04b561: Pull complete 33d04fdc0027: Pull complete Digest: sha256:080191bdcc163b7d93756515e096a93223b9d39ec692a80038cd2c1d9eebdcd6 Status: Downloaded newer image for php:8.1.0-cli docker.io/library/php:8.1.0-cli
PHP 8.1の環境構築
以下のように、docker run
コマンドを実行します。
$ docker run --name php81 -dit --platform linux/arm/v5 php:8.1.0-cli 239d756ffef56461b20571554260b09bd1f66f2792b4b882bf7a5795b1de6e0e
そして、コンテナ内に入りPHPのバージョンを確認してみます。
$ docker exec -it php81 /bin/sh # php -v PHP 8.1.0 (cli) (built: Nov 30 2021 02:19:04) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.0, Copyright (c) Zend Technologies
これで無事、PHP 8.1.0の環境構築に成功しました。 ここからいろいろPHP 8.1の動作確認などができますね!