【 PHP 】PHP8に入門してみた 14日目 環境構築を進める ( VS Codeなど )

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

環境構築を進める

VS Codeなど

Dockerイメージを作成する

nginx

つづいてnginxのDockerイメージをビルドします。

nginxはあっという間にビルドが終わりました。
問題なさそうですね。

PS D:\dockers\files\php8_study\.devcontainer> docker-compose build nginx
Building nginx
[+] Building 14.1s (6/6) FINISHED
 => [internal] load build definition from Dockerfile                                                               0.0s
 => => transferring dockerfile: 354B                                                                               0.0s
 => [internal] load .dockerignore                                                                                  0.0s
 => => transferring context: 2B                                                                                    0.0s
 => [internal] load metadata for docker.io/library/nginx:1.23.1                                                    4.2s
 => [1/2] FROM docker.io/library/nginx:1.23.1@sha256:b95a99feebf7797479e0c5eb5ec0bdfa5d9f504bc94da550c2f58e839ea6  3.7s
 => => resolve docker.io/library/nginx:1.23.1@sha256:b95a99feebf7797479e0c5eb5ec0bdfa5d9f504bc94da550c2f58e839ea6  0.0s
 => => sha256:89020cd33be2767f3f894484b8dd77bc2e5a1ccc864350b92c53262213257dfc 1.57kB / 1.57kB                     0.0s
 => => sha256:7cb804d746d48520f1c0322fcda93249b96b4ed0bbd7f9912b2eb21bd8da6b43 894B / 894B                         0.6s
 => => sha256:b95a99feebf7797479e0c5eb5ec0bdfa5d9f504bc94da550c2f58e839ea6914f 1.86kB / 1.86kB                     0.0s
 => => sha256:2b7d6430f78d432f89109b29d88d4c36c868cdbf15dc31d2132ceaa02b993763 7.65kB / 7.65kB                     0.0s
 => => sha256:ca1981974b581a41cc58598a6b51580d317ac61590be75a8a63fa479e53890da 25.35MB / 25.35MB                   2.4s
 => => sha256:d4019c921e20447eea3c9658bd0780a7e3771641bf29b85f222ec3f54c11a84f 602B / 602B                         0.5s
 => => sha256:e7a561826262f279acf3a671b2d5684a86a8dbc48dc88e4cb65305ba4b08cae1 665B / 665B                         0.8s
 => => sha256:7247f6e5c182559e2f7c010c11506802a0259958577a6e64c31b5b8f7cb0b286 1.39kB / 1.39kB                     0.8s
 => => extracting sha256:ca1981974b581a41cc58598a6b51580d317ac61590be75a8a63fa479e53890da                          0.8s
 => => extracting sha256:d4019c921e20447eea3c9658bd0780a7e3771641bf29b85f222ec3f54c11a84f                          0.0s
 => => extracting sha256:7cb804d746d48520f1c0322fcda93249b96b4ed0bbd7f9912b2eb21bd8da6b43                          0.0s
 => => extracting sha256:e7a561826262f279acf3a671b2d5684a86a8dbc48dc88e4cb65305ba4b08cae1                          0.0s
 => => extracting sha256:7247f6e5c182559e2f7c010c11506802a0259958577a6e64c31b5b8f7cb0b286                          0.0s
 => [2/2] RUN apt-get update && apt-get -y install openssl     && openssl req -newkey rsa:2048 -x509 -nodes -set_  6.0s
 => exporting to image                                                                                             0.1s
 => => exporting layers                                                                                            0.1s
 => => writing image sha256:97f5a7e053994ae600d327b93d8da1f89606f9c715ec70c774c0496cbe4aef17                       0.0s
 => => naming to docker.io/library/devcontainer_nginx                                                              0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
PS D:\dockers\files\php8_study\.devcontainer>
php

次はphpとなります。FPM(FastCGI Process Manager)と呼んでいる方ですね。

学習ではworkspacephpのどちらを使うのでしょうか?

PS D:\dockers\files\php8_study\.devcontainer> docker-compose build php
Building php
[+] Building 195.0s (6/6) FINISHED
 => [internal] load build definition from Dockerfile                                                               0.0s
 => => transferring dockerfile: 709B                                                                               0.0s
 => [internal] load .dockerignore                                                                                  0.0s
 => => transferring context: 2B                                                                                    0.0s
 => [internal] load metadata for docker.io/library/php:8.1-fpm-bullseye                                            3.1s
 => [1/2] FROM docker.io/library/php:8.1-fpm-bullseye@sha256:a4eb3a878726329b1dc2b722f4605d6d95fac8b0c8d6d316d7d8  3.8s
 => => resolve docker.io/library/php:8.1-fpm-bullseye@sha256:a4eb3a878726329b1dc2b722f4605d6d95fac8b0c8d6d316d7d8  0.0s
 => => sha256:a4eb3a878726329b1dc2b722f4605d6d95fac8b0c8d6d316d7d8ddcab0c0a4d0 1.86kB / 1.86kB                     0.0s
 => => sha256:d7ac8380a9d8f961643f6e024b0960cbf19d5020140534cbcabd566aba3763be 2.41kB / 2.41kB                     0.0s
 => => sha256:5eca38ab336578ba772e8effea381096332405d7bc8d443dd41734722b0003c2 11.49kB / 11.49kB                   0.0s
 => => sha256:ea981381696aadf05e0e577a691cf5e5098dfecf65aa498cbdcaaa497cb03446 26.22MB / 26.22MB                   2.5s
 => => sha256:9c67e25f918ff1cc9a93f0d9911450b2699648b868be538e9054acc06a631fc6 2.45kB / 2.45kB                     0.5s
 => => sha256:6556af0595643afa8ca37b14313db011b5b5a51a5f10a3c4ac5b85fb9e9c75b2 244B / 244B                         0.6s
 => => sha256:84d98907de8ebc8ecad1a92390ce17b6bc4eb69095efbace73a426f66dee454f 8.62kB / 8.62kB                     0.8s
 => => extracting sha256:ea981381696aadf05e0e577a691cf5e5098dfecf65aa498cbdcaaa497cb03446                          0.9s
 => => extracting sha256:9c67e25f918ff1cc9a93f0d9911450b2699648b868be538e9054acc06a631fc6                          0.0s
 => => extracting sha256:6556af0595643afa8ca37b14313db011b5b5a51a5f10a3c4ac5b85fb9e9c75b2                          0.0s
 => => extracting sha256:84d98907de8ebc8ecad1a92390ce17b6bc4eb69095efbace73a426f66dee454f                          0.0s
 => [2/2] RUN apt-get update     && apt-get install -y libc-client-dev libfreetype6-dev libjpeg62-turbo-dev lib  186.0s
 => exporting to image                                                                                             1.9s
 => => exporting layers                                                                                            1.9s
 => => writing image sha256:5257aee86c9f7e94555f52f84f96f494c232cd9454a2485952180798af4c48bd                       0.0s
 => => naming to docker.io/library/devcontainer_php                                                                0.0s

Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them
PS D:\dockers\files\php8_study\.devcontainer>
mariadb

最後にmariadbですね。

サービス名がmysqlのままなのですが・・・まぁ良しとします😉

mariadbは単純にDockerイメージがたくさん保存されている場所(Docker Hub)から持ってくるだけなのでビルドは必要ありません。

実は「ビルド」の時もDocker HubからDockerイメージを持ってきています。このイメージをさらにカスタマイズするのが「ビルド」なのです。

「持ってくる」は「pull」というコマンドを使います。

PS D:\dockers\files\php8_study\.devcontainer> docker-compose pull mysql
Pulling mysql ... done

 

メモ

動作するかわかりませんがdocker-compose.ymlの定義およびビルドはオールオッケー!

PHPPHP

Posted by raika@blog