ポンコツエンジニアのごじゃっぺ開発日記。

いろいろポンコツだけど、気にするな。エンジニアの日々の開発などの記録を残していきます。 自動で収入を得られるサービスやシステムを作ることが目標!!

dockerでPHP 8.1を動かしてみる。

先週、PHP 8.1がリリースされ、先程dockerのイメージもダウンロードできるようになったので、docker上でPHP 8.1を試してみたいと思います。

なぜ、dockerなのか

PHP 8.1の環境を用意するのが大変だったため。dockerだと楽じゃないですか!

ということで、こちらのdocker-library/phpの8.1のPull Requestがマージされるのを毎日楽しみにしてました。

github.com

そして、今朝確認したらマージされてたので、次に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というログが出力され、失敗してしまいました。

どうやらプラットフォームが違うようです。

f:id:ponkotsu0605:20211130164310p:plain

こう書いてあったので、何も考えずに一番上の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の動作確認などができますね!

お問い合わせプライバシーポリシー制作物