GNU/Linux >> Linux Esercitazione >  >> Linux

Come distribuire CouchDB come cluster con Docker

Di recente, ti ho mostrato come distribuire CouchDB come server di database NoSQL autonomo, che potrebbe servirti bene in piccole istanze. Questa volta, voglio mostrarti un trucco accurato per distribuire CouchDB come cluster usando Docker. Anche se questo metodo potrebbe non essere l'ideale per l'utilizzo in produzione, è un ottimo modo per gli sviluppatori di poter lavorare con CouchDB in un ambiente di test.

Senza ulteriori indugi, passiamo alla distribuzione.

Di cosa avrai bisogno

Per farlo funzionare, avrai bisogno di un server con un sistema operativo che supporti Docker. Dimostrerò con Ubuntu Server 22.04, ma puoi utilizzare qualsiasi piattaforma con cui ti senti a tuo agio.

Copertura per sviluppatori da leggere

Come installare Docker

Se non hai già installato Docker, ecco come lo fai.

Innanzitutto, aggiungi la chiave GPG Docker ufficiale con il comando:

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

Quindi, aggiungi il repository richiesto:

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

Installa le dipendenze richieste con:

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

Infine, possiamo installare l'ultima versione del motore Docker:

sudo apt-get update

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

Aggiungi il tuo utente al gruppo Docker con il comando:

sudo usermod -aG docker $USER

Informa il sistema della modifica con:

newgrp docker

Come distribuire i container CouchDB

Distribuiremo tre container CouchDB, ciascuno utilizzando una porta esterna univoca. Il primo utilizzerà la porta 5984 ed è distribuito con:

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

Il secondo container viene distribuito (usando la porta 15984) con:

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

Il container finale viene distribuito *utilizzando la porta 25984) con:

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

Se emetti il ​​comando docker ps -a | grep couchdb dovresti vedere tutte e tre le istanze attive e funzionanti.

Come creare l'utente amministratore

Ora dobbiamo creare un amministratore su ogni container. In ogni caso, sostituisci PASSWORD con una password complessa (assicurati che sia la stessa per ciascuna). I comandi per questo saranno:

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"''

Eccezionale. Continuiamo.

Come creare una rete Docker

Al momento, i nodi CouchDB non hanno consapevolezza l'uno dell'altro. Per risolvere il problema, dobbiamo creare una nuova rete Docker. Fallo con:

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

Con la nostra rete creata, ora dobbiamo connettere i nostri contenitori ad essa, cosa che viene eseguita utilizzando i seguenti comandi:

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

Perfetto.

Come accedere alla console di amministrazione

Aprire un browser Web e puntarlo su http://server:5984, dove SERVER è l'indirizzo IP del server che ospita Docker. Accedi con il nome utente admin e la password che hai aggiunto in precedenza per l'utente amministratore.

Dopo aver effettuato l'accesso, fai clic sull'icona a forma di chiave inglese nella barra di navigazione a sinistra, quindi fai clic su Configura un cluster (Figura A ).

Figura A

Nella finestra risultante (Figura B ), dovrai inserire le credenziali di amministratore e quindi aggiungere un nodo al cluster.

Figura B

Per aggiungere il primo nodo al cluster, digita couchdb-1.local.com come host remoto e lascia la porta su 5984. Una volta fatto, fai clic su Aggiungi nodo. Fai la stessa cosa per il secondo nodo usando couchdb-2.local.com come host remoto.

Dopo aver aggiunto entrambi i nodi, fai clic su Configura cluster e dovresti essere ricompensato con una pagina che ti informa che il cluster è stato configurato (Figura C ).

Figura C

Congratulazioni, hai appena distribuito il tuo primo cluster CouchDB, con l'aiuto di Docker.


Linux
  1. Come distribuire un server DNS dinamico con Docker su Debian 10

  2. Come installare Jenkins con Docker

  3. Come distribuire microservizi con Docker

  4. Come distribuire app con Rancher

  5. Come distribuire un container nginx con Docker su Linode

Come distribuire il cluster Kubernetes su AWS con Amazon EKS

Come distribuire Pi-Hole su Debian 11

Come distribuire Docker Compose Stack su Kubernetes con Kompose

Come distribuire un servizio in un cluster Docker Swarm

Come distribuire l'applicazione Laravel con Nginx su Ubuntu?

Come distribuire il container Docker su Jelastic Cloud