Menjadi perhatian ketika ingin mendeploy aplikasi menggunakan docker. Pertanyaan yang muncul diawal adalah, apakah mudah untuk proses backup databasenya, apakah data tidak rentan hilang atau rusak?
Setelah mencari tahu ketemu referensi dari stackoverflow.
Disitu bisa dibilang, menjadikan database sebagai container di level production tidak direkomendasikan.
Jadi ada 3 point yang diperhatikan, pertama updating docker biasanya ada problem dan tidak stabilnya storage drivers di docker, kedua bagaimana kalau ada kasus dengan power failure atau read erros? ketiga, database menjadi sulit untuk memanagenya.
kalau untuk di level testing atau staging, menggunakan database sebagai container adalah salah satu sangat direkomendasikan.
Reference: https://stackoverflow.com/questions/48515460/is-it-recommended-to-use-database-as-a-container-in-production-environment
Import Database MYSQL di Laradock
docker-compose exec -T mysql mysql -uroot -proot databasename < ~/Downloads/databasefile.sql
Berikut adalah beberapa cheat sheet command Docker yang berguna saat sedang melakukan development atau bekerja di lingkungan local:
- Menghentikan semua container yang sedang berjalan:
docker container stop $(docker container ls -a -q)
- Menghapus semua container:
docker container rm $(docker container ls -a -q)
- Memulai container dan detach:
docker-compose up -d
- Melihat log container:
docker logs container_name
- Menghapus semua volume:
docker volume rm $(docker volume ls -q)
- Menghapus semua image:
docker rmi -f $(docker images -aq)
- Menghapus semua container, volume, dan network yang tidak digunakan:
docker system prune -a --volumes
- Masuk ke bash container:
docker-compose exec workspace bash
- Melihat IP Container:
docker container ls
docker inspect {container_id} | grep "IP Address"
Dengan menggunakan cheat sheet ini, Anda dapat dengan mudah mengelola container, volume, dan image Docker saat sedang bekerja di lingkungan local.