Selamat datang di blog pribadi saya. Kali ini saya ingin berbagi ilmu tentang Docker. Berawal pada saat saya mengisi acara Cangkru’an Kelompok Linux Arek Suroboyo Lokakarya Docker Fundamental pada hari sabtu kemarin di Ruang Training APJII Jawa Timur, Intiland Tower, Surabaya. Pada saat sesi demo saya mencoba untuk mendeploy aplikasi web menggunakan framework Laravel, saya berulang kali mengalami kegagalan karena masalah permission. Namun, setelah sekian kali mencoba saya berhasil untuk menjalankan aplikasi saya melalui Docker Container. Bagaimana caranya? Disini saya ingin berbagi cara untuk melakukan deploy aplikasi Laravel kita menggunakan Docker.
Apa itu Docker?
Docker merupakan sebuah teknologi virtualisasi yang memungkinkan kita untuk mengemas, membangun dan menjalankan aplikasi yang kita buat di sistem operasi manapun yang diletakkan pada sebuah container (wadah).
Kenapa harus Docker?
Dengan menggunakan Docker, kita jadi lebih mudah untuk proses development dan testing sebuah proyek berbasis websiste yang kita buat. Sebab dengan menggunakan Docker orang lain yang akan melakukan testing aplikasi kita tidak perlu menginstall web server dan dependency satu persatu di masing-masing sistem operasi yang mereka gunakan karena semua kebutuhan untuk aplikasi kita sudah terinstal di Docker Container.
Praktik
Membuat Proyek Laravel
Untuk membuat proyek Laravel kita membutuhkan tool yang bernama Composer. Pastikan kalian sudah menginstallnya di laptop kalian masing-masing. Jika sudah menginstall Composer, lanjut untuk membuat proyek Laravel dengan mengetik perintah berikut :
|
|
Kemudian jika sudah masuk ke dalam direktori proyek kita dan kemudian kita tes untuk memastikan proyek yang kita buat dapat berjalan
|
|
Gambar 1. Hasil Output Perintah php artisan serve
Jika sudah berhasil harusnya aplikasi kita sudah dapat diakses.
Docker
Pada bagian ini pastikan kalian sudah melakukan instalasi Docker dan Docker Compose pada Ubuntu bisa dengan cara mengetik perintah ini dan kemudian tunggu hingga selesai.
|
|
Buat berkas-berkas yang dibutuhkan
Pada direktori proyek kita, buat dua berkas yang masing - masing bernama app.dockerfile
yang akan kita gunakan untuk menginstall php dan extensi php yang dibutuhkan seperti extensi untuk mysql, web.dockerfile
yang akan digunakan untuk menginstal NGINX dengan configurasi virtual host pada berkas laravelVHost.conf
, dan `docker-compose.yml` yang berisi layanan yang akan kita jalankan secara bersamaan. Setelah itu isi dari masing - masing berkas tersebut adalah berikut
app.dockerfile
|
|
web.dockerfile
docker-compose.yml
|
|
laravelVHost.conf
|
|
.env
Kita juga perlu untuk mengatur environment pada Laravel agar kita dapat menjalankan perintah untuk melakukan migrasi database.
Setelah berkas-berkas diatas telah siap, kita dapat menjalankan perintah
|
|
Kemudian kita dapat mengakses halaman dengan mengunjungi tautan
|
|
Harusnya sudah muncul halaman welcome page Laravel seperti pada gambar di bawah ini.
Gambar 2. Welcome Page Laravel
Jika berhasil, kita dapat melakukan migrate menggunakan perintah di bawah. Perintah ini dijalankan melalui terminal kita pada direktori proyek Laravel kita, bukan melalui container docker yang sedang berjalan.
|
|
Hasil outputnya :
Gambar 3. Hasil Output Menjalankan Perintah Migration Laravel
Jika sudah kita dapat mencoba untuk registrasi di halaman http://localhost:8080/register
namun sebelumnya kita harus melakukan generate auth pada Laravel dengan menggunakan perintah :
|
|
Perintah diatas akan membuatkan kita tampilan dan route yang dapat kita gunakan untuk autentikas user. Jika berhasil menjalankan perintah diatas, kita sudah dapat melakukan register dan login.
Selamat mencoba, maaf jika ada yang kurang. Terima kasih :)
Sumber :