某案件で「Apache+PHP+MySQL」の環境が必要になったので、Dockerで作成する。
【PC情報】
・macOS Monterey(バージョン 12.5)
【ディレクトリ構成】
Application
├── app
└── index.php
├── docker-compose.yml
├── mysql
└── php
├── Dockerfile
└── php.ini
【前提】
・dockerが入っていること
dockerが自分のPC環境に入っているかは、バージョンを確認する方法が手っ取り早いです。
下記、コマンドをたたいて色々でてきたらOK
docker -v
あと、個人的にコマンドたたくの苦手な方は、「Docker Desktop」をインストールすると、コンテナの立ち上げ状況や「起動」「停止」といった操作が楽になるかも?です。
↓ ↓
Docker Desktop
【手順】
1.Dockerfileを作成する。
phpフォルダ配下のDockerfileに以下を入力します。
※下記、「volumes:」以下で設定しているURLは、自分の開発環境に合わせてパスを変更して下さい。
FROM php:7.4-apache
RUN apt-get update && apt-get install -y libonig-dev && \
docker-php-ext-install pdo_mysql mysqli mbstring
2.docker-compose.ymlを作成する。
docker-compose.ymlファイルに下記の設定を記載していきます。
version: '3'
services:
#MySQL用コンテナ
mysql:
container_name: mysql
image: mysql:5.7
volumes:
- /Users/****/Application/mysql:/var/lib/mysql
ports:
- 3306:3306
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=test
- MYSQL_USER=test
- MYSQL_PASSWORD=test
#phpMyAdmin用コンテナ
phpmyadmin:
container_name: phpMyAdmin
depends_on:
- mysql
image: phpmyadmin/phpmyadmin
environment:
PMA_HOST: mysql
restart: always
ports:
- "80:80"
#php用コンテナ
php:
container_name: php-apache
build: ./php
volumes:
- /Users/****/Application:/var/www/html
ports:
- 8080:80
depends_on:
- mysql
3.コンテナ作成、動作確認
Dockerfileとdocker-compose.ymlファイルの作成が完了したら、lamp-dockerフォルダ直下で下記コマンドを実行してください。
docker-compose up -d
index.php追記に下記内容を追記
echo 'hello world';
保存できたら、ブラウザから下記リンクにアクセスしてください。
※先程、index.phpで記載した「hello world」がでていればOK
http://localhost:8080/app/index.php
phpMyAdomin
下記リンクで、phpMyAdminのログイン画面を表示されることも確認。
http://localhost:80
完了!