Mengelola Data di Docker, secara default semua file yang dibuat dalam container tidak akan tersimpan secara persistent, ketika container dihentikan file akan hilang, dan ketika anda menjalakan kembali container tersebut akan kembali ke sedia kala.
Untuk menangani hal ini docker memiliki 2 opsi yaitu volumes dan bind mounts yang dapat diterapkan pada container untuk menyimpan data pada host, sehingga file akan tersimpan secara persistent ketika container dihentikan, dan jika anda menjalankan docker di linux anda juga bisa menggunakan tmpfs mount
Disini kita akan coba mendemokan bagaiman cara bind mount laravel-app pada docker dekstop OS windows
Bind mounts
Bisa disimpan dimana saja pada sistem host, host sistem dan container dapat menulis, membaca dan mengubah file kapanpun. jika dibandingkan dengan volumes bind mounts memiliki fungsional yang terbatas.
Ketika anda menggunakan bind mount file atau direktori pada host di mount ke container, file atau direktori direferensikan secara full path pada host, dan untuk host docker tujuan direktori tidak perlu ada, jika tidak ada akan dibuat secara otomatis.
Untuk penggunaan bind mount gunakan parameter -v atau –volume, contoh demo penggunaan
docker container run -d --name laravel2 -p 8182:8181 -v /Users/ilhamAziz/app/laravel-vol:/srv/app laravel-app
pada perintah diatas /Users/ilhamAziz/app/laravel-vol merupakan direktori full path yang berada di host yang akan di mount ke /srv/www yang berada di container, seperti yang disebutkan di atas direktori /srv/app ini tidak perlu ada pada docker host, jika tidak ada akan dibuat secara otomatis, dan ketika anda melakukan perubahan di container file/direktori akan berubah juga di host, begitupun sebaliknya
Kita akan coba melihat mount pada container laravel2 dengan menggunakan perintah berikut
docker container inspect laravel2
ekarang kita akan coba menjalankan
0 komentar:
Posting Komentar