Ahmad Sanusi Official Let’s Talk
Ahmad Sanusi Official Website
  • Home
  • About
  • Project
  • Blog
  • Al Quran Digital
  • Al Quran Digital Lite
  • Contact

Docker Compose untuk FrankenPHP, MySQL, dan PhpMyAdmin

Docker Compose untuk FrankenPHP, MySQL, dan PhpMyAdmin
  • Administrator
    Written by

    Administrator

  • Category

    PHP Docker

  • Date

    12 Januari 2025

Docker Compose untuk FrankenPHP, MySQL, dan PhpMyAdmin

Docker Compose adalah alat yang sangat berguna untuk mengelola aplikasi multi-container. Dalam artikel ini, kita akan membuat sebuah file Docker Compose untuk mengatur FrankenPHP sebagai server web, MySQL sebagai basis data, dan PhpMyAdmin sebagai alat manajemen basis data.

Prasyarat

Sebelum memulai, pastikan Anda telah menginstal:

  • Docker
  • Docker Compose

Langkah-langkah

1. Struktur Direktori

Buat struktur direktori berikut untuk proyek Anda:

project-folder/
├── docker-compose.yml
├── app/
    └── index.php

2. File Docker Compose

Buat file docker-compose.yml di root folder proyek Anda:

version: '3.9'

services:
  frankenphp:
    image: dunglas/frankenphp:latest
    container_name: frankenphp
    volumes:
      - ./app:/var/www/html
    ports:
      - "8080:80"
    depends_on:
      mysql:
        condition: service_healthy

  mysql:
    image: mysql:8.0
    container_name: mysql
    environment:
      MYSQL_ROOT_PASSWORD: rootpassword
      MYSQL_DATABASE: frankenphp_db
      MYSQL_USER: frankenphp_user
      MYSQL_PASSWORD: userpassword
    ports:
      - "3306:3306"
    volumes:
      - mysql_data:/var/lib/mysql
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
      interval: 10s
      timeout: 5s
      retries: 3

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: phpmyadmin
    environment:
      PMA_HOST: mysql
      PMA_USER: frankenphp_user
      PMA_PASSWORD: userpassword
    ports:
      - "8081:80"
    depends_on:
      mysql:
        condition: service_healthy

volumes:
  mysql_data:

3. File PHP (index.php)

Buat file index.php di dalam folder app/ untuk memverifikasi instalasi FrankenPHP:

<?php
phpinfo();

4. Menjalankan Docker Compose

Jalankan perintah berikut di terminal Anda:

docker compose up -d

Perintah ini akan:

  1. Menjalankan FrankenPHP di port 8080.
  2. Menjalankan MySQL di port 3306.
  3. Menjalankan PhpMyAdmin di port 8081.

5. Mengakses Layanan

  • FrankenPHP: Buka browser dan akses http://localhost:8080.
  • PhpMyAdmin: Buka browser dan akses http://localhost:8081 dengan kredensial berikut:
    • Server: mysql
    • Username: frankenphp_user
    • Password: userpassword

6. Penghentian Layanan

Untuk menghentikan semua container, gunakan perintah berikut:

docker compose down

Kesimpulan

Dengan menggunakan Docker Compose versi terbaru, Anda dapat dengan mudah mengatur FrankenPHP sebagai server web, MySQL sebagai basis data, dan PhpMyAdmin sebagai alat manajemen. Struktur ini sangat cocok untuk pengembangan aplikasi berbasis PHP modern.

Share:
Docker PHP Mysql Database
Blog

Popular post

Cara Mengatasi Error ONLY_FULL_GROUP_BY di Database MySQL
  • 8 Juli 2021

Cara Mengatasi Error ONLY_FULL_GROUP_BY di Database MySQL

Membuat Format Tanggal Hijriyah Bahasa Indonesia Dengan Librari PHP
  • 23 Agustus 2021

Membuat Format Tanggal Hijriyah Bahasa Indonesia Dengan Librari PHP

Cara Menghapus Cache Git
  • 18 November 2023

Cara Menghapus Cache Git

Tutorial Menginstall Codeigniter 3 dengan Composer
  • 10 Juli 2021

Tutorial Menginstall Codeigniter 3 dengan Composer

Le t’s work together

Based in Indonesia |

Looking for a hectic web developer?

[email protected]

Want a more in-depth look at my history?

-

©2025 Ahmad Sanusi Official Website, All Rights Reserved

Back to Top