Devdit
 

การใช้ Docker ติดตั้ง PHP MySQL phpMyAdmin

375

บทความนี้สอนวิธีใช้ Docker ติดตั้งโปรแกรม PHP MySQL phpMyAdmin และ Apache โดยใช้ Docker Compose ร่วมกับ Dockerfile พร้อมทดลองเขียน PHP เชื่อมต่อกับฐานข้อมูล MySQL มีลำดับขั้นตอนดังนี้

 

ตัวอย่าง การใช้ Docker ติดตั้ง PHP MySQL phpMyAdmin

1. สร้างไฟล์ docker-compose.yml และเขียนคำสั่ง

version: '3'
services:
  web:
    build: .
    ports:
      - "80:80"
    volumes:
      - .:/var/www/html
    depends_on:
      - db

  db:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: mypassword
      MYSQL_DATABASE: mydb
      MYSQL_USER: user
      MYSQL_PASSWORD: mypassword
    volumes:
      - db_data:/var/lib/mysql

  phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin
    restart: always
    ports:
      - 8080:80
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: mypassword

volumes:
    db_data:

จากคำสั่งมีการติดตั้ง 3 บริการ

- บริการ web คือการติดตั้ง PHP และ Apache ด้วย Dockerfile รัน Ports 80

- บริการ db คือการติดตั้ง MySQL รัน Ports 3306 (Ports เริ่มต้น)

- บริการ phpmyadmin คือการติดตั้ง phpMyAdmin รัน Ports 8080

 

2. สร้าง Dockerfile สำหรับติดตั้ง PHP และ Apache พร้อมส่วนขยายต่างๆ

FROM php:8.0-apache
RUN docker-php-ext-install mysqli
WORKDIR /var/www/html
COPY . /var/www/html
EXPOSE 80
CMD ["apache2-foreground"]

 

3. สร้างไฟล์ index.php และเขียนโค้ดเชื่อมต่อฐานข้อมูล MySQL

<?php
    $server = "db";
    $username = "user";
    $password = "mypassword";
    $db = "mydb";

    $conn = new mysqli($server, $username, $password, $db);
    if ($conn->connect_error) {
        die("ไม่สามารถเชื่อมต่อฐานข้อมูลได้เพราะ " . $conn->connect_error);
    }
    echo "เชื่อมต่อฐานข้อมูลสำเร็จ";
?>

 

4. ทำการ build และรัน image ให้เป็น container ด้วยคำสั่ง

docker-compose up --build

 

5. ทดลองรันด้วยการเข้า URL

http://localhost/
// ผลลัพธ์
เชื่อมต่อฐานข้อมูลสำเร็จ

 

6. ทดลองเข้า phpMyAdmin ด้วย URL

http://localhost:8080/

เข้าสู่ระบบด้วย

Username: root

Password: mypassword

(ถูกกำหนดไว้ใน docker-compose.yml ในส่วนของบริการ db และ phpmyadmin)

 

สรุป บทความนี้เรียนรู้วิธีการติดตั้ง PHP MySQL phpMyAdmin และ Apache บนสภาพแวดล้อม Docker โดยใช้ Docker Compose ร่วมกับ Dockerfile สุดท้ายลองเขียนโค้ดเชื่อมต่อ PHP กับ MySQL และรันเพื่อแสดงผลลัพธ์ออกสู่หน้าจอ

แก้ไข 5 เดือนที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ