Cómo desplegar CouchDB como un clúster usando Docker

Recientemente, te mostré cómo implementar CouchDB como un servidor de bases de datos NoSQL independiente, lo cual puede ser útil en pequeñas instancias. En esta ocasión, quiero mostrarte un truco interesante para implementar CouchDB como un clúster utilizando Docker. Aunque este método puede no ser ideal para uso en producción, es una excelente manera para que los desarrolladores puedan trabajar con CouchDB en un entorno de prueba.

Índice de Contenido
  1. Lo que necesitarás
  2. Cómo instalar Docker
  3. Cómo implementar los contenedores de CouchDB
  4. Cómo crear el usuario administrador
  5. Cómo crear una red de Docker
  6. Cómo iniciar sesión en la consola de administración

Lo que necesitarás

Para que esto funcione, necesitarás un servidor con un sistema operativo que admita Docker. Voy a demostrarlo con Ubuntu Server 22.04, pero puedes utilizar la plataforma con la que te sientas más cómodo.

Cómo instalar Docker

En caso de que aún no tengas Docker instalado, aquí te explico cómo hacerlo.

Primero, añade la clave GPG oficial de Docker con el siguiente comando:

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

A continuación, añade el repositorio requerido:

Cómo asegurar la longevidad del software: claves para su desarrollo y documentación

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

Instala las dependencias requeridas con el siguiente comando:

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

Por último, puedes instalar la última versión del motor de Docker:

sudo apt-get update

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

Cómo solucionar el error de apt-key en Linux

Añade tu usuario al grupo docker con el siguiente comando:

sudo usermod -aG docker $USER

Haz que el sistema reconozca el cambio con:

newgrp docker

Cómo implementar los contenedores de CouchDB

Vamos a implementar tres contenedores de CouchDB, cada uno utilizando un puerto externo único. El primero utilizará el puerto 5984 y se implementará con el siguiente comando:

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

openSUSE Micro: La nueva distribución de Linux optimizada para cargas de trabajo en contenedores

El segundo contenedor se implementa utilizando el puerto 15984:

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

El tercer contenedor se implementa utilizando el puerto 25984:

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

Si ejecutas el comando docker ps -a | grep couchdb deberías ver los tres contenedores en ejecución.

Cómo crear el usuario administrador

Ahora debemos crear un administrador en cada contenedor. En cada instancia, reemplaza CONTRASEÑA con una contraseña segura (asegúrate de que sea la misma para todos). Los comandos serán los siguientes:

La verdad sobre los errores de software: el mito del software sin errores

curl -X PUT http://localhost:5984/_node/[email protected]/_config/admins/admin -d '"CONTRASEÑA"'

curl -X PUT http://localhost:15984/_node/[email protected]/_config/admins/admin -d '"CONTRASEÑA"'

curl -X PUT http://localhost:25984/_node/[email protected]/_config/admins/admin -d '"CONTRASEÑA"'

Excelente. Continuemos.

Cómo crear una red de Docker

Por el momento, los nodos de CouchDB no están conscientes entre sí. Para solucionarlo, debemos crear una nueva red de Docker. Hazlo con el siguiente comando:

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

Descubre las sorpresas de KDE Plasma 5.25

Una vez que hayamos creado nuestra red, debemos conectar nuestros contenedores a ella. Esto se hace utilizando los siguientes comandos:

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

Perfecto.

Cómo iniciar sesión en la consola de administración

Abre un navegador web y dirígete a http://servidor:5984, donde SERVIDOR es la dirección IP del servidor que aloja Docker. Inicia sesión con el nombre de usuario admin y la contraseña que añadiste para el usuario administrador anteriormente.

Cómo instalar y utilizar Jitsi

Una vez que hayas iniciado sesión, haz clic en el icono de llave inglesa en la navegación izquierda y luego haz clic en Configurar un clúster (Figura A).

Figura A

En la ventana resultante (Figura B), deberás completar las credenciales de administrador y luego agregar un nodo al clúster.

Figura B

Para agregar el primer nodo al clúster, deberás escribir couchdb-1.local.com como Host Remoto y dejar el puerto en 5984. Una vez que hayas hecho esto, haz clic en Agregar Nodo. Haz lo mismo para el segundo nodo utilizando couchdb-2.local.com como Host Remoto.

Después de agregar ambos nodos, haz clic en Configurar Clúster y deberías ver una página que te informa que el clúster ha sido configurado (Figura C).

Las 12 mejores IDEs para programadores en 2022

Figura C

Felicitaciones, acabas de implementar tu primer clúster de CouchDB con la ayuda de Docker.

Masteriza Docker con los siguientes recursos de Newsmatic Academy:

  • Hacking and Securing Docker Containers
  • Linux and Docker Coding Bundle
  • Docker and Kubernetes Mini-bundle

Suscríbete a How To Make Tech Work de Newsmatic en YouTube para obtener los últimos consejos tecnológicos para profesionales de negocios de Jack Wallen.

Todos hablan de desarrollo impulsado por pruebas Alguien realmente lo está haciendo

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Desarrollo, allí encontraras muchos artículos similares a Cómo desplegar CouchDB como un clúster usando Docker , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.