Docker環境でPHPが動く仕組みについて

環境

WSL2のUbuntu22.04

やったこと

下記の構成でDocker環境を作成しました。

project ├── docker-compose.yml ├── htdocs │   └── index.php └── php ├── Dockerfile └── php.ini

docker-compose.ymlの内容は下記の通りです。

dockercompose.yml

version: '3.7' services: mysql: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: 'password' phpmyadmin: depends_on: - mysql image: phpmyadmin/phpmyadmin environment: PMA_HOST: mysql restart: always ports: - "8080:80" php-apache: build: ./php volumes: - ./htdocs:/var/www/html restart: always ports: - "80:80" depends_on: - mysql volumes:

疑問点

上記の環境で、たとえばhtdocsに

index.php

<?php phpinfo();

というファイルを置いて http://localhost にアクセスするとphpinfoが表示されます。
index.phpは/home/user/project/htdocs/というディレクトリに置いてますが、ローカル側にはPHPは入れていません。

ローカルに置いたPHPが、コンテナのPHP(?)でどのような仕組みで動いているのでしょうか?

Docker初心者なので初歩的な質問だと思いますが、よろしくお願いします。

コメントを投稿

0 コメント