Hướng dẫn tạo Docker cho môi trường PHP + MySQL trên Windows 10
Huy Châu - August 08, 2021 -
Docker
Hôm nay mình sẽ hướng dẫn cách cấu hình Docker cho một dự án chạy PHP và MySQL trên Windows 10
Các bạn tìm hiểu Docker là gì tại đây
1. Đầu tiên cần cài đặt Docker Desktop cho Windows 10
https://docs.docker.com/docker-for-windows/install/
2. Cấu hình Docker cho môi trường PHP + MySQL
Cấu trúc của thư mục như sau:
- app\public-html: Thư mục source code sẽ nằm ở đây
- docker-compose.yml : Khai báo và cấu hình các service để chạy
- Dockerfile : Chứa dòng lệnh để tạo Docker image
docker-compose.yml
version: '3.8'
services:
www:
build: .
depends_on:
- db
volumes:
- ./app/public-html:/var/www/html/
ports:
- 8002:80
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: test
MYSQL_DATABASE: myDB
MYSQL_USER: test
MYSQL_PASSWORD: test
ports:
- "9906:3306"
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- "8080:80"
environment:
MYSQL_ROOT_PASSWORD: test
MYSQL_USER: test
MYSQL_PASSWORD: test
links:
- db:db
Dockerfile
FROM php:8.0-apache
RUN docker-php-ext-install mysqli pdo_mysql
RUN apt-get update \
&& apt-get install -y libzip-dev \
&& apt-get install -y zlib1g-dev \
&& rm -rf /var/lib/apt/lists/* \
&& docker-php-ext-install zip
Tạo file index.php đơn giản để test kết nối MySQL
<?php
// The MySQL service named in the docker-compose.yml.
$host = 'db';
// Database use name
$user = 'test';
//database user password
$pass = 'test';
// check the MySQL connection status
$conn = new mysqli($host, $user, $pass);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
} else {
echo "Connected to MySQL server successfully!";
}
?>
Tiến hành chạy Docker dùng docker-compose up
Kết quả:
