Tutorial Deploy Laravel & MySQL Menggunakan Docker - Sudah kenal dengan docker? docker adalah teknologi kontainerisasi untuk menjalankan sebuah service atau aplikasi yang mau dijalankan. Sudah banyak perusahaan yang menggunakan teknologi ini dalam menjalankan aplikasi atau service mereka.
Gambar diatas adalah ilustrasi dalam penggunaan teknologi kontainerisasi (kiri) dan teknologi virtualisasi (kanan).
Pada teknologi virtualisasi, untuk menjalankan aplikasi kita perlu buat dahulu virtual machine (VM) pada server lalu install library atau setup environmentnya satu persatu untuk menjalankan aplikasi. Misal anda perlu install php, composer, mysql, redis, dll agar aplikasi Anda dapat berjalan, belum nanti ada perbedaan versi yang digunakan maka ini akan menjadi sebuah problem.
Berbeda Jika dibanding menggunakan teknologi kontainerisasi untuk menjalankan aplikasinya kita bisa buat aplikasi kita menjadi sebuah image atau artefak yang nantinya akan dijalankan pada kontainer.
Mengenai arsitektur dan cara instalasi docker dapat Anda artikel Pengenalan dan Cara Install Docker ini.
Berikut adalah cara untuk deploy aplikasi laravel Anda menggunakan Docker.
Pastikan Docker sudah running dengan mengetikan perintah berikut:
sudo systemctl status docker
Jika belum install bisa menginstall docker dengan panduan berikut Pengenalan dan Cara Install Docker
Clone project Anda yang ada di public repository ke server dengan perintah berikut
git clone url-repo
Jika Anda ingin mencobanya bisa menggunakan project berikut
https://github.com/bagusgandhi/ppaw.git
setelah selesai clone, selanjutnya masuk ke direktori project
cd nama-project
Selanjutnya kita akan membuat service web server, database, dan aplikasi.
jalankan perintah berikut untuk membuat file docker-compose.yml
nano docker-compose.yml
lalu masukan script berikut:
Selanjutnya buat file konfigurasi Nginx.
Ketikan perintah berikut untuk membuat direktori tempat file config
mkdir -p docker-compose/nginx
Buat file config nginx
nano docker-compose/nginx/nama-proyek-web.conf
Salin isi file config berikut
Dockerfile ini digunakan untuk build aplikasi menjadi sebuah image
buat file Dockerfile dengan perintah berikut:
nano Dockerfile
lalu masukan script berikut
Lakukan perintah berikut untuk copy file .env.example menjadi .env
cp .env.example .env
Lalu lakukan beberapa konfigurasi di .env Anda.
Ketikan perintah berikut untuk build aplikasi menjadi image
docker-compose build app
Selanjutnya lakukan docker-compose untuk menjalankan image menjadi container
docker-compose up -d
Pada container aplikasi yang kita jalankan belum terdapat composer, sehingga Anda perlu exec container aplikasi untuk install composer
docker-compose exec app composer install
Ketikan perintah berikut untuk generate key aplikasi laravel
docker-compose exec app php artisan key:generate
Ketikan perintah berikut untuk generate key aplikasi laravel
docker-compose exec app php artisan migrate
Ketikan perintah berikut untuk melakukan seeding data ke database apabila anda memiliki seed
docker-compose exec app php artisan db:seed
Menggunakan Docker untuk menjalankan aplikasi dapat meringankan melakukan setup awal setiap melakukan deployment aplikasi.
Dengan docker kita bisa juga deploy aplikasi lain dengan stack berbeda, ini tentunya akan lebih praktis.
VPS Murah Berbasis Cloud Dengan Virtualisasi KVM, Full SSD Disk, Banyak Pilihan OS Aktif Instan!
Order Sekarang!