Untuk menjalankan Laravel menggunakan Docker, berikut adalah langkah-langkah umum yang dapat Anda ikuti:
- Pastikan Anda telah menginstal Docker di komputer Anda. Anda dapat mengunduh dan menginstal Docker Desktop sesuai dengan sistem operasi yang Anda gunakan.
- Buat direktori baru untuk proyek Laravel Anda.
- Di dalam direktori proyek, buat file
Dockerfile
tanpa ekstensi, dan tambahkan konfigurasi berikut:
FROM php:7.4-apache
# Menginstal dependensi yang diperlukan
RUN apt-get update && apt-get install -y \
libzip-dev \
unzip \
git \
&& docker-php-ext-install zip
# Mengaktifkan modul Apache yang diperlukan
RUN a2enmod rewrite
# Mengatur direktori kerja
WORKDIR /var/www/html
# Menyalin file Laravel ke dalam kontainer
COPY . /var/www/html
# Menginstal dependensi PHP menggunakan Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN composer install
# Menentukan hak akses yang diperlukan
RUN chown -R www-data:www-data /var/www/html
Buat file docker-compose.yml
tanpa ekstensi, dan tambahkan konfigurasi berikut:
version: "3"
services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- 8080:80
volumes:
- .:/var/www/html
restart: always
- Buka terminal atau command prompt, lalu arahkan ke direktori proyek Anda.
- Jalankan perintah
docker-compose up -d
untuk memulai kontainer Docker. - Setelah kontainer selesai dibangun, Anda dapat mengakses proyek Laravel melalui
http://localhost:8080
di browser Anda.
Dengan konfigurasi tersebut, Docker akan membuat kontainer menggunakan PHP dan Apache sebagai server web. File proyek Laravel akan disalin ke dalam kontainer, dan dependensi akan diinstal menggunakan Composer.
Anda juga dapat menyesuaikan konfigurasi Dockerfile atau docker-compose.yml sesuai dengan kebutuhan spesifik proyek Laravel Anda. Pastikan Anda sudah memahami dasar-dasar Docker dan konfigurasi Docker untuk mengelola dan menyesuaikan lingkungan pengembangan Anda.
Nginx Web Server
Jika Anda ingin menggunakan Nginx sebagai web server untuk menjalankan proyek Laravel dengan Docker, Anda dapat mengikuti langkah-langkah berikut:
- Pastikan Anda telah menginstal Docker di komputer Anda. Jika belum, Anda dapat mengunduh dan menginstal Docker Desktop sesuai dengan sistem operasi yang Anda gunakan.
- Buat direktori baru untuk proyek Laravel Anda.
- Di dalam direktori proyek, buat file
Dockerfile
tanpa ekstensi, dan tambahkan konfigurasi berikut:
FROM php:7.4-fpm
# Menginstal dependensi yang diperlukan
RUN apt-get update && apt-get install -y \
libzip-dev \
unzip \
git \
&& docker-php-ext-install zip
# Menginstal Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# Mengatur direktori kerja
WORKDIR /var/www/html
# Menyalin file Laravel ke dalam kontainer
COPY . /var/www/html
# Menginstal dependensi PHP menggunakan Composer
RUN composer install --no-dev --no-interaction --no-scripts --optimize-autoloader
# Menentukan hak akses yang diperlukan
RUN chown -R www-data:www-data /var/www/html
# Menyalin konfigurasi nginx
COPY nginx.conf /etc/nginx/sites-available/default
Buat file docker-compose.yml
tanpa ekstensi, dan tambahkan konfigurasi berikut:
version: "3"
services:
app:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/var/www/html
ports:
- 8080:80
depends_on:
- database
restart: always
database:
image: mysql:5.7
environment:
MYSQL_DATABASE: laravel
MYSQL_ROOT_PASSWORD: secret
volumes:
- db-data:/var/lib/mysql
restart: always
volumes:
db-data:
Buat file nginx.conf
dan tambahkan konfigurasi berikut:
server {
listen 80;
index index.php index.html;
server_name localhost;
root /var/www/html/public;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass app:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
- Buka terminal atau command prompt, lalu arahkan ke direktori proyek Anda.
- Jalankan perintah
docker-compose up -d
untuk memulai kontainer Docker.
Setelah kontainer selesai dibangun, Anda dapat mengakses proyek Laravel melalui http://localhost:8080
di browser Anda.
Dalam konfigurasi ini, kita menggunakan Docker dengan PHP-FPM sebagai kontainer untuk menjalankan PHP, dan Nginx sebagai web server. File konfigurasi nginx.conf
mengarahkan permintaan ke PHP-FPM di port 9000. Database MySQL juga ditambahkan ke dalam konfigurasi menggunakan kontainer MySQL.
Pastikan Anda menyesuaikan konfigurasi Dockerfile, docker-compose.yml, dan file konfigurasi Nginx sesuai