GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So stellen Sie CouchDB als Cluster mit Docker bereit

Kürzlich habe ich Ihnen gezeigt, wie Sie CouchDB als eigenständigen NoSQL-Datenbankserver bereitstellen, der Ihnen in kleinen Instanzen gute Dienste leisten kann. Dieses Mal möchte ich Ihnen einen netten Trick zeigen, wie Sie CouchDB als Cluster mit Docker bereitstellen können. Obwohl diese Methode möglicherweise nicht ideal für den Produktionseinsatz ist, ist sie eine großartige Möglichkeit für Entwickler, mit CouchDB in einer Testumgebung zu arbeiten.

Kommen wir ohne weiteres zur Bereitstellung.

Was Sie brauchen

Damit dies funktioniert, benötigen Sie einen Server mit einem Betriebssystem, das Docker unterstützt. Ich werde es mit Ubuntu Server 22.04 demonstrieren, aber Sie können jede beliebige Plattform verwenden, mit der Sie vertraut sind.

Pflichtlektüre für Entwickler

So installieren Sie Docker

Für den unwahrscheinlichen Fall, dass Sie Docker noch nicht installiert haben, gehen Sie wie folgt vor.

Fügen Sie zuerst den offiziellen Docker-GPG-Schlüssel mit dem Befehl hinzu:

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

Fügen Sie als Nächstes das erforderliche Repository hinzu:

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

Installieren Sie die erforderlichen Abhängigkeiten mit:

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

Schließlich können wir die neueste Version der Docker-Engine installieren:

sudo apt-get update

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

Fügen Sie Ihren Benutzer mit dem Befehl:

zur Docker-Gruppe hinzu

sudo usermod -aG docker $USER

Machen Sie das System auf die Änderung aufmerksam mit:

newgrp docker

So stellen Sie die CouchDB-Container bereit

Wir werden drei CouchDB-Container bereitstellen, die jeweils einen eindeutigen externen Port verwenden. Die erste verwendet Port 5984 und wird bereitgestellt mit:

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

Der zweite Container wird bereitgestellt (unter Verwendung von Port 15984) mit:

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

Der letzte Container wird bereitgestellt *unter Verwendung von Port 25984) mit:

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

Wenn Sie den Befehl docker ps -a | grep couchdb sollten alle drei Instanzen betriebsbereit sein.

So erstellen Sie den Administrator-Benutzer

Wir müssen jetzt für jeden Container einen Administrator erstellen. Ersetzen Sie PASSWORD in jedem Fall durch ein sicheres Passwort (stellen Sie sicher, dass es für alle gleich ist). Die Befehle dafür lauten:

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

Hervorragend. Machen wir weiter.

So erstellen Sie ein Docker-Netzwerk

Im Moment haben die CouchDB-Knoten keine Kenntnis voneinander. Um das zu beheben, müssen wir ein neues Docker-Netzwerk erstellen. Tun Sie dies mit:

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

Nachdem unser Netzwerk erstellt wurde, müssen wir nun unsere Container damit verbinden, was mit den folgenden Befehlen geschieht:

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

Perfekt.

So melden Sie sich bei der Verwaltungskonsole an

Öffnen Sie einen Webbrowser und zeigen Sie ihn auf http://server:5984, wobei SERVER die IP-Adresse des Servers ist, auf dem Docker gehostet wird. Melden Sie sich mit dem Benutzernamen admin und dem Passwort an, das Sie zuvor für den Admin-Benutzer hinzugefügt haben.

Nachdem Sie sich angemeldet haben, klicken Sie auf das Schraubenschlüssel-Symbol im linken Navigationsbereich und dann auf Cluster konfigurieren (Abbildung A ).

Abbildung A

Im resultierenden Fenster (Abbildung B ), müssen Sie die Administratoranmeldeinformationen eingeben und dann einen Knoten zum Cluster hinzufügen.

Abbildung B

Um den ersten Knoten zum Cluster hinzuzufügen, geben Sie couchdb-1.local.com als Remote-Host ein und belassen Sie den Port bei 5984. Klicken Sie anschließend auf Knoten hinzufügen. Machen Sie dasselbe für den zweiten Knoten, indem Sie couchdb-2.local.com als Remote-Host verwenden.

Nachdem Sie beide Knoten hinzugefügt haben, klicken Sie auf Cluster konfigurieren und Sie sollten mit einer Seite belohnt werden, die Sie darüber informiert, dass der Cluster konfiguriert wurde (Abbildung C ).

Abbildung C

Herzlichen Glückwunsch, Sie haben gerade Ihren ersten CouchDB-Cluster mithilfe von Docker bereitgestellt.


Linux
  1. So stellen Sie einen dynamischen DNS-Server mit Docker unter Debian 10 bereit

  2. So installieren Sie Jenkins mit Docker

  3. So stellen Sie Microservices mit Docker bereit

  4. So stellen Sie Apps mit Rancher bereit

  5. So stellen Sie einen Nginx-Container mit Docker auf Linode bereit

So stellen Sie Kubernetes-Cluster auf AWS mit Amazon EKS bereit

So stellen Sie Pi-Hole unter Debian 11 bereit

So stellen Sie Docker Compose Stacks mit Kompose in Kubernetes bereit

So stellen Sie einen Dienst in einem Docker Swarm-Cluster bereit

Wie stellt man die Laravel-Anwendung mit Nginx auf Ubuntu bereit?

So stellen Sie Docker-Container in Jelastic Cloud bereit