This page contains the Dockerfile and docker-compose.yml used to set up a PHP development environment with MySQL and phpMyAdmin using Docker.
You can copy and use these files directly in your project.
Dockerfile
FROM php:8.3-cli
RUN apt-get update && apt-get install -y \
git \
unzip \
zip \
libzip-dev \
&& docker-php-ext-install pdo pdo_mysql zip
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
WORKDIR /var/www
docker-compose.yml
version: "3.9"
services:
app:
build: .
container_name: php_app_container
volumes:
- .:/var/www
ports:
- "8000:8000"
depends_on:
- mysql
command: php -S 0.0.0.0:8000 -t /var/www
mysql:
image: mysql:8.0
container_name: mysql_container
restart: always
environment:
MYSQL_ROOT_PASSWORD: mysqlroot
MYSQL_DATABASE: appdb
MYSQL_USER: testuser
MYSQL_PASSWORD: testpass
ports:
- "3306:3306"
volumes:
- mysql_data:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin_container
restart: always
ports:
- "8080:80"
environment:
PMA_HOST: mysql
PMA_USER: testuser
PMA_PASSWORD: testpass
depends_on:
- mysql
volumes:
mysql_data: