Docker LAMP
使用 Docker 建立 Apache、MySQL、PHP 的測試開發環境。
開一個新的資料夾(docker-lamp),並在資料夾內新增下列檔案,檔名必需是 compose.yaml。
services:
db:
image: mysql
environment:
- MYSQL_ROOT_PASSWORD=12345678
- TZ=Asia/Taipei
volumes:
- ./db:/var/lib/mysql
apache-php:
build: ./build
volumes:
- ./html:/var/www/html
ports:
- 80:80
pma:
image: phpmyadmin
environment:
- PMA_HOST=db
ports:
- 8080:80
depends_on:
- db
在 docker-lamp 資料夾內新增 build 資料夾,並新增下列檔案,檔名必需是 Dockerfile,用來下載 php-apache 映像檔。
FROM php:8.3-apache
WORKDIR /var/www/html
RUN docker-php-ext-install mysqli pdo pdo_mysql
RUN a2enmod headers \
&& sed -ri -e 's/^([ \t]*)(<\/VirtualHost>)/\1\tHeader set Access-Control-Allow-Origin "*"\n\1\2/g' /etc/apache2/sites-available/*.conf
EXPOSE 80
再新增 db、html 資料夾,分別用來存放 MySQL、PHP 檔。
在命令列模式下,進入 docker-lamp 資料夾,輸入 docker compose up 指令就可以啟動環境。