GNU/Linux >> Belajar Linux >  >> Linux

Cara menggunakan CouchDB sebagai cluster dengan Docker

Baru-baru ini, saya menunjukkan kepada Anda cara menggunakan CouchDB sebagai server database NoSQL mandiri, yang dapat melayani Anda dengan baik dalam kasus kecil. Kali ini, saya ingin menunjukkan trik yang rapi untuk menggunakan CouchDB sebagai cluster menggunakan Docker. Meskipun metode ini mungkin tidak ideal untuk penggunaan produksi, ini adalah cara yang bagus bagi pengembang untuk dapat bekerja dengan CouchDB dalam lingkungan pengujian.

Tanpa basa-basi lagi, mari kita mulai penerapannya.

Yang Anda perlukan

Untuk membuatnya berfungsi, Anda memerlukan server dengan OS yang mendukung Docker. Saya akan mendemonstrasikan dengan Ubuntu Server 22.04, tetapi Anda dapat menggunakan platform mana pun yang Anda sukai.

Cakupan pengembang yang harus dibaca

Cara menginstal Docker

Jika Anda belum menginstal Docker, inilah cara Anda melakukannya.

Pertama, tambahkan kunci GPG Docker resmi dengan perintah:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Selanjutnya, tambahkan repositori yang diperlukan:

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Instal dependensi yang diperlukan dengan:

sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y

Akhirnya, kita dapat menginstal versi terbaru dari mesin Docker:

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io -y

Tambahkan pengguna Anda ke grup buruh pelabuhan dengan perintah:

sudo usermod -aG docker $USER

Buat sistem mengetahui perubahan dengan:

newgrp docker

Cara menyebarkan wadah CouchDB

Kami akan menggunakan tiga kontainer CouchDB, masing-masing menggunakan port eksternal yang unik. Yang pertama akan menggunakan port 5984 dan di-deploy dengan:

docker run -itd -p 5984:5984 -p 5986:5986 --name=couchdb0 -e NODENAME='couchdb-0.local.com' --mount 'source=volume-0,target=/opt/couchdb/data' couchdb:2.3.0

Kontainer kedua disebarkan (menggunakan port 15984) dengan:

docker run -itd -p 15984:5984 -p 15986:5986 --name=couchdb1 -e  NODENAME='couchdb-1.local.com' --mount 'source=volume-1,target=/opt/couchdb/data' couchdb:2.3.0

Kontainer terakhir di-deploy *menggunakan port 25984) dengan:

docker run -itd -p 25984:5984 -p 25986:5986 --name=couchdb2 -e NODENAME='couchdb-2.local.com' --mount 'source=volume-2,target=/opt/couchdb/data' couchdb:2.3.0

Jika Anda mengeluarkan perintah docker ps -a | grep couchdb Anda akan melihat ketiga instance aktif dan berjalan.

Cara membuat pengguna administrator

Kita sekarang perlu membuat administrator di setiap wadah. Dalam setiap contoh, ganti PASSWORD dengan kata sandi yang kuat (pastikan itu sama untuk masing-masing). Perintah untuk ini adalah:

curl -X PUT http://localhost:5984/_node/[email protected]/_config/admins/admin -d '"PASSWORD"
curl -X PUT http://localhost:15984/_node/[email protected]/_config/admins/admin -d '"PASSWORD"
curl -X PUT http://localhost:25984/_node/[email protected]/_config/admins/admin -d '"PASSWORD"''

Luar biasa. Mari kita lanjutkan.

Cara membuat jaringan Docker

Saat ini, node CouchDB tidak memiliki kesadaran satu sama lain. Untuk memperbaikinya kita perlu membuat jaringan Docker baru. Lakukan ini dengan:

docker network create -d bridge --subnet 172.25.0.0/16 isolated_nw

Dengan jaringan kami dibuat, kami sekarang harus menghubungkan wadah kami ke sana, yang dilakukan dengan menggunakan perintah berikut:

docker network connect --alias couchdb-0.local.com isolated_nw couchdb0
docker network connect --alias couchdb-1.local.com isolated_nw couchdb1
docker network connect --alias couchdb-2.local.com isolated_nw couchdb2

Sempurna.

Cara masuk ke konsol admin

Buka browser web dan arahkan ke http://server:5984, di mana SERVER adalah alamat IP dari server hosting Docker. Masuk dengan nama pengguna admin dan kata sandi yang Anda tambahkan untuk pengguna admin tadi.

Setelah Anda masuk, klik ikon kunci inggris di navigasi kiri lalu klik Konfigurasikan Cluster (Gambar A ).

Gambar A

Di jendela yang dihasilkan (Gambar B ), Anda harus mengisi kredensial admin lalu menambahkan node ke cluster.

Gambar B

Untuk menambahkan node pertama ke cluster, ketikkan couchdb-1.local.com sebagai Remote Host dan biarkan port di 5984. Setelah selesai, klik Add Node. Lakukan hal yang sama untuk node kedua menggunakan couchdb-2.local.com sebagai Host Jarak Jauh.

Setelah menambahkan kedua node, klik Configure Cluster dan Anda akan mendapatkan halaman yang menginformasikan bahwa cluster telah dikonfigurasi (Gambar C ).

Gambar C

Selamat, Anda baru saja men-deploy cluster CouchDB pertama Anda, dengan bantuan Docker.


Linux
  1. Cara Menginstal Jenkins dengan Docker

  2. Cara Menyebarkan Layanan Mikro dengan Docker

  3. Bagaimana cara menggunakan gambar buruh pelabuhan lokal dengan Minikube?

  1. Cara Menyebarkan Server DNS Dinamis dengan Docker di Debian 10

  2. Cara Menyebarkan Aplikasi dengan Rancher

  3. Cara Menyebarkan Wadah nginx dengan Docker di Linode

  1. Cara Membuat Gambar Docker dengan Dockerfile

  2. Cara Menyebarkan PostgreSQL di Docker Container

  3. Cara Menyebarkan dan Menjalankan Redis di Docker