Menyiapkan lingkungan pengembangan lokal yang menyertakan PHP, Apache, dan MySQL bisa menjadi tugas yang kompleks. Namun, dengan kekuatan Docker dan Docker Compose, proses ini menjadi jauh lebih mudah dan efisien. Dalam artikel ini, kami akan memandu Anda melalui proses penerapan PHP, Apache, dan MySQL langkah demi langkah menggunakan Docker Compose. Kami akan membahas konfigurasi yang diperlukan, memberikan contoh, dan menampilkan contoh output di sepanjang jalan.
AdvertisementPrerequisites
Sebelum memulai, pastikan Anda telah menginstal Docker dan Docker Compose di sistem Anda. Anda dapat mengunduh dan menginstal Docker dari situs web resmi Docker (https://www.docker.com/) dan Docker Compose dari dokumentasi Docker Compose (https://docs.docker.com/compose/install/). Setelah Anda menginstal keduanya, Anda siap untuk melanjutkan.
Langkah 1: Menyiapkan Docker Compose File
Buat direktori baru untuk proyek Anda dan arahkan ke dalamnya menggunakan terminal atau command prompt Anda. Di dalam direktori ini, buat file baru bernama `docker-compose.yml` dan buka dengan editor teks pilihan Anda. File ini akan berisi konfigurasi untuk layanan PHP, Apache, dan MySQL kami.
Berikut contoh file `docker-compose.yml`:
version: `3` jasa: php: membangun: konteks: . dockerfile: Dockerfile volume: - ./src:/var/www/html port: - 8080:80 tergantung pada: - mysql mysql: gambar: mysql: terbaru lingkungan: MYSQL_ROOT_PASSWORD: rahasia MYSQL_DATABASE: mydatabase MYSQL_USER: myuser MYSQL_PASSWORD: kata sandiku volume: - mysql_data:/var/lib/mysql volume: mysql_data:1234567891011121314151617181920212223version:`3`services: php: build: konteks:. dockerfile:Dockerfile volume: -./src:/var/www/html ports: -8080:80 depends_on: -mysql mysql: image:mysql:latest lingkungan: MYSQL_ROOT_PASSWORD:rahasia MYSQL_DATABASE:mydatabase MYSQL_USER:myuser MYSQL_PASSWORD:mypassword volume: - mysql_data:/var/lib/mysqlvolumes: mysql_data:
Dalam konfigurasi ini, kami mendefinisikan dua layanan: `php` dan `mysql`. Layanan `php` bertanggung jawab untuk menjalankan kode PHP kami menggunakan Apache, dan layanan mysql untuk database MySQL kami. Bagian `volumes` memasang direktori src (tempat kode PHP kita berada) ke direktori `/var/www/html` di dalam wadah layanan php. Bagian `ports` memetakan port 8080 pada mesin host ke port 80 di dalam wadah layanan php. Bagian `depends_on` memastikan bahwa layanan mysql dimulai sebelum layanan php untuk membuat koneksi yang diperlukan.
Langkah 2: Membuat Dockerfile
Selanjutnya, kita perlu membuat Dockerfile yang menentukan lingkungan untuk layanan PHP dan Apache kita. Di direktori yang sama dengan file `docker-compose.yml`, buat file baru bernama `Dockerfile` dan buka dengan editor teks.
Berikut contoh Dockerfile:
FROM php:7.4-apache COPY src/ /var/www/html/12FROMphp:7.4-apacheCOPYsrc//var/www/html/
`Dockerfile` ini menggunakan gambar PHP resmi dengan Apache sebagai gambar dasarnya. Ini menyalin konten direktori `src` (di mana kode PHP kita berada) ke dalam direktori `/var/www/html/` di dalam container.
Langkah 3: Membangun dan Menjalankan Docker Compose Services
Sekarang kita memiliki `docker- compose.yml` dan Dockerfile di tempatnya, kita dapat membangun dan menjalankan layanan Docker Compose. Di terminal atau prompt perintah Anda, navigasikan ke direktori proyek (tempat file docker-compose.yml berada) dan jalankan perintah berikut:
docker-compose up -d
Perintah ini memulai layanan yang ditentukan dalam file `docker-compose.yml` dalam mode terpisah (di latar belakang). Docker Compose akan secara otomatis membangun layanan php menggunakan Dockerfile dan menarik citra MySQL dari Docker Hub jika belum tersedia secara lokal.
Langkah 4: Memverifikasi Deployment
Setelah layanan aktif dan berjalan, kami dapat memverifikasi penerapan dengan mengakses aplikasi PHP di peramban web kami. Buka browser web pilihan Anda dan kunjungi http://localhost:8080. Anda akan melihat aplikasi PHP Anda berjalan dengan sukses.
Kesimpulan
Dalam artikel ini, kami menjelajahi proses penerapan PHP, Apache, dan MySQL menggunakan Docker Compose. Kami membahas konfigurasi di file `docker-compose.yml`, memberikan contoh `Dockerfile`, dan mendemonstrasikan proses penerapan. Docker Compose menyederhanakan penyiapan dan pengelolaan lingkungan pengembangan yang kompleks, membuatnya lebih mudah untuk bekerja dengan PHP, Apache, dan MySQL. Dengan pengetahuan ini, kini Anda dapat dengan mudah menyiapkan dan menerapkan proyek PHP menggunakan Docker Compose.
Saya harap artikel ini membantu Anda dalam menyiapkan lingkungan PHP, Apache, dan MySQL dengan Docker Compose. Selamat coding!
Referensi tecadmin.comArtikel Diperbarui pada: May 23, 2023
Kontributor: Syauqi Wiryahasana
Model: Haifa Manik Intani