Pada Artikel ini akan menjelaskan bagaimana Deploy database MongoDB pada Docker dengan menggunakan Docker-Compose
Step 1 — Membuat file docker-compose.yml
Docker Compose adalah alat yang digunakan untuk menjalankan dan mengelola aplikasi yang terdiri dari beberapa container Docker. Dengan menggunakan Docker Compose, Anda dapat mengonfigurasi dan menjalankan beberapa container dalam satu lingkungan yang sama, mempermudah pengelolaan aplikasi secara keseluruhan.
version: '3.9'
services:
db:
container_name: mongodb-demo
hostname: mongodb-demo
image: mongo:latest
tty: true
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: rootpassword
ports:
- 27017:27017
- 28017:28017
volumes:
- data:/data/db
networks:
net2:
ipv4_address: 11.11.0.101
volumes:
data:
networks:
net2:
name: Golang-net
driver: bridge
ipam:
config:
- subnet: 11.11.0.0/24
gateway: 11.11.0.254
Breakdown
version: "3.9"
adalah versi dari docker-compose yang digunakan. Versi ini menentukan fitur-fitur yang tersedia dalam docker-compose dan memastikan bahwa file konfigurasi dapat berjalan pada versi yang sesuai.services:
merupakan bagian dari file konfigurasi yang mendefinisikan layanan apa saja yang akan dijalankan dalam Docker container.db:
adalah nama dari layanan yang didefinisikan, dan selanjutnya diikuti dengan konfigurasi dari layanan tersebut.container_name:
mongodb-demo menentukan nama kontainer MongoDB yang akan dibuat.hostname:
mongodb-demo menentukan nama host kontainer MongoDB.image:
mongo:latest menentukan gambar Docker yang digunakan untuk layanan MongoDB. Di sini, menggunakan gambar mongo:latest yang merupakan versi terbaru dari MongoDB.tty:
true mengalokasikan terminal pada kontainer.environment
mengatur variabel lingkungan yang akan digunakan dalam kontainer. Di sini, MONGO_INITDB_ROOT_USERNAME diatur sebagai “root” dan MONGO_INITDB_ROOT_PASSWORD diatur sebagai “rootpassword”. Ini akan digunakan sebagai username dan password root untuk MongoDB.ports
menetapkan penjajaran port antara host dan kontainer MongoDB. Pada contoh ini, port 27017 pada host akan diarahkan ke port 27017 pada kontainer MongoDB, dan port 28017 pada host akan diarahkan ke port 28017 pada kontainer MongoDB.volumes
menetapkan volume Docker yang akan digunakan untuk menyimpan data MongoDB. Pada contoh ini, volume dengan nama “data” akan terhubung ke direktori “/data/db” di dalam kontainer MongoDB. Ini memungkinkan data MongoDB untuk disimpan secara persisten di volume tersebut.networks
menetapkan jaringan Docker yang akan digunakan untuk menghubungkan kontainer MongoDB. Di sini, layanan MongoDB akan terhubung ke jaringan dengan nama “Golang-net” dan diberikan alamat IPv4 statis “11.11.0.101”.data
adalah nama volume Docker yang akan digunakan untuk menyimpan data MongoDB. Volume ini akan terhubung ke direktori “/data/db” di dalam kontainer MongoDB.net2
adalah nama jaringan Docker yang akan digunakan untuk menghubungkan kontainer MongoDB. Jaringan ini menggunakan driver “bridge” dan memiliki konfigurasi IPAM yang menetapkan -subnet
“11.11.0.0/24” dan gateway “11.11.0.254”.
Step 2 — Menjalankan MongoDB
Setelah membuat file docker-compose.yml selanjutnya kita tinggal menjalankannya dengan command:
docker-compose up -d
Selanjutnya kita cek lagi apakah Container MongoDB sudah berjalan atau belum
docker ps -a