Laravel Sail Docker Environtment Dari Laravel Untuk Kebutuhan Development Laravel

Adinata
4 min readDec 12, 2020

--

Laravel Sail merupakan antar muka berbasis command line yang dapat kita gunakan untuk kebutuhan development environtement di lokal laravel, laravel sail ini cocok untuk kita yang tidak memiliki lokal development seperti laradock,laragon,xampp,valet dan lain-lain.

Teknologi Di Balik Laravel Sail

Docker merupakan teknologi yang digunakan oleh laravel sail, namun kabar baiknya dengan menggunakan laravel sail kita tidak perlu belajar docker karena sail memberikan kemudahan sehingga untuk menggunakannya kita tidak perlu paham docker namun tentu saja jika anda memahami docker merupakan nilai plus dikarenakan docker saat ini merupakan teknologi yang memang sangat banyak digunakan oleh perusahaan-perusahaan teknologi di dunia saat ini

Creator Laravel Sail

Laravel Sail dibuat oleh pembuat yang sama dengan yaitu Mas Taylor Otwel salah satu motivasi taylor membuat laravel sail adalah untuk mempermudah pengembang aplikasi mengembangkan aplikasi di perangkat yang belum tersedia software untuk development aplikasi khususnya laravel sehingga kita dapat mulai bekerja di laptop manapun dengan cukup menginstall docker maka laravel sail siap anda gunakan untuk kebutuhan lokal development anda

Apakah Lokal Development Lama Di Tinggalkan ?

saat ini saya yakin banyak developer sudah memiliki lokal development, beberapa di antaranya antara lain :

Dan Masih banyak lagi lokal development yang mungkin anda gunakan saat ini, saya membaca beberapa pertanyaan di forum / di sosial media apakah saya harus beralih ke laravel sail ? menurut saya anda tidak perlu beralih ke laravel sail jika perangkat pengembangan aplikasi anda sudah menggunakan lokal development yang sudah memenuhih kebutuhan anda misal seperti anda sudah menggunakan laradock / laravel valet maka saya rasa itu sudah cukup untuk mengembangkan aplikasi web menggunakan framework laravel, namun dengan laravel sail ini memang lebih mempermudah workflow kita sehingga kita dapat memulai bekerja dari perangkat manapun tanpa melakukan banyak setup hanya butuh docker

Fitur — Fitur Laravel Sail

laravel sail memiliki beberapa fitur yang dapat kita gunakan untuk mengembangkan aplikasi web berbasis laravel kita antara lain

Interaksi Dengan Database ( Mysql / Redis )

kita dapat melakukan interaksi dengan database baik itu pada database Mysql ataupun Redis untuk konfigurasi databasenya anda dapat melihat konfigurasinya pada file docker-compose.yml dan laravel sail ini sudah menggunakan docker volume dimana datanya tersimpan di perangkat kita sehingga jika kita melakukan start ataupun stop laravel sail nya maka data kita tetap tersimpan ( Tidak Hilang ) jadi kita tidak perlu khawatir data hilang ketika laravel sail nya kita stop.

Jalankan Aritsan Tinker Dengan Sail Tinker

laravel sail juga memberikan kemudahan dalam menjalankan artisan tinker kita cukup menjalankan command sail tinker maka kita bisa langsung masuk ke artisan tinker

Support PHP Versi 7.4 Dan PHP Versi 8

Laravel sail saat ini sudah support 2 versi PHP yaitu PHP Versi 7.4 dan PHP Versi terbaru saat ini yaitu versi PHP 8 anda dapat mengganti versi PHP yang anda gunakan apakah itu PHP versi 7.4 ataupun PHP Versi 8 untuk versi selain versi yang ada diatas saat ini belum di support

Sharing Site Support By Expose

Saat ini laravel sail juga mendukung sharing sites menggunakan laravel expose dari beyondcode sehingga jika anda ingin sharing sites anda tidak perlu mengupload / store aplication anda di vps / hosting dahulu cukup dengan perintah sail share aplikasi anda akan dapat di akses dari internet tentunya anda harus ada akses internet ya heheh

Video Laravel Sail Dari Taylor Otwel

Video Lainnya Terkait Laravel Sail

Atasi Error Mysqldump Not Found Pada Laravel Sail

laravel memiliki sebuah fitur yaitu schema dump dengan begitu file migration yang banyak akan di dump menjadi satu file hal ini sangat membantu jika kita memiliki banyak file migration sehingga ketika di production kita cukup jalankan migration untuk satu file saja hal ini bisa mempercepat proses migration yang kita jalankan.

Pada Laravel sail kita bisa menjalakan artisan command dengan cara

./vendor/bin/sail artisan

jika anda menggunakan alias anda dapat menjalankan menjadi seperti ini

sail artisan

untuk membuat alias anda dapat mengetikkan command sbb

alias sail='bash vendor/bin/sail'

ketika menjalankan perintah sail artisan schema:dump kita akan mendapati error mysqldump not found seperti gambar dibawah ini

error ini terjadi dikarenakan pada dockerfile yang kita gunakan belum terinstall mysql client maka untuk fix case ini kita dapat menambahkan mysql-client pada docker file yang kita gunakan dengan cara sbb :

pada project laravel app kita buka folder vendor > Laravel > sail > runtime > 8.0

silahkan anda buka runtime yang anda gunakan pada case saya saya menggunakan runtime 8.0 ( by Default laravel sail menggunakan runtime 8.0)

lalu anda buka file Dockerfile dan tambahkan baris dibawah ini

&& apt-get install -y mysql-client \

sehingga isi dari Dockerfile anda menjadi sbb :

setelah anda menambahkan maka kita harus lakukan build ulang berikut langkah-langkahnya

kita matikan dulu container yang sedang berjalan dengan perintah

setelah itu untuk melakukan rebuild ketikkan perintah dibawah ini

sail build --no-cache

lalu jalankan kembali containernya dengan perintah

untuk melihat container yang running dapat dilakaukan dengan perintah

berikut outputnya

dan terkahir silahkan anda jalankan kembali schema dump dengan perintah

sail artisan schema:dump

makan proses scehma dump akan berjalan jika tidak ada kendala maka akan berhasil dan menghasilkan output sbb

berikut hasil dari schema dump

Kesimpulan

laravel sail ini sangat cocok bagi kita untuk mengembangkan aplikasi dimana di perangkat kita belum tersedia lokal development apapun maka kita cukup install docker + laravel sail maka kita sudah dapat mulai bekerja dan laravel sail ini merupakan sebuah solusi untuk kita agar lebih mudah dalam melakukan pengembangan aplikasi khususnya aplikasi web yang menggunakan framework laravel.

Salam,

Adinata

Link Terkait :

Originally published at https://adinata.id on December 12, 2020.

--

--

Adinata
Adinata

Written by Adinata

Saya merupakan seorang fullstack developer dan wirausaha saya rutin membagikan tulisan saya seputar fullstack developer di website : https://midteknologi.com/

No responses yet