Utilizar Redis en Docker containers: así se hace.

Redis es una de las imágenes más populares de Docker. Entre otras cosas, la base de datos clave-valor permite almacenar datos de contenedores Docker. Redis y Docker se pueden conectar en el terminal. Te mostramos cómo conectarlos.

Requisitos para usar Redis

Después de instalar Docker en un servidor de Linux, a menudo surge la pregunta de dónde se deberían almacenar los datos del contenedor Docker. Redis es una base de datos NoSQL que ofrece la solución ideal gracias a su gran velocidad y rendimiento. Antes de conectar a Redis con Docker, asegúrate de que se cumplan los siguientes requisitos:

  • Docker está instalado y funcionando.
  • Estás familiarizado con los comandos y las funciones básicas de Docker.
  • Tienes un servidor en la nube con un sistema operativo de Linux (Ubuntu 14.04 o CentOS 7).

Servidores virtuales (VPS) con IONOS

Potente VPS para desarrollar y ejecutar tu código y tus aplicaciones, con asesor personal e asistencia 24/7. 

Certificado SSL
Alto rendimiento
Listo en 55 seg.

Ejecutar Redis en un contenedor de Docker

La imagen oficial Redis es una de las tres imágenes más populares de Docker. Contiene el comando EXPOSE 6379 (el puerto predeterminado de Redis), que automáticamente permite a todos los contenedores vinculados usar Redis.

Para ejecutar una instancia de Redis en un contenedor Docker llamado my-redis-container, utiliza el siguiente comando:

sudo docker run --name my-redis-container -d redis

La conexión de Redis se ejecuta en un contenedor Docker

Para conectarse a una instancia de Redis desde otro Docker container, añade --link[nombre o ID del contenedor Redis]:redis al comando Docker run de ese contenedor.

De este modo puedes, por ejemplo, crear un contenedor llamado my-redis-application desde la imagen oficial de CentOS 7 y vincularlo al contenedor my-redis-container que acabas de crear. Para ello, utiliza el siguiente comando:

sudo docker run --name my-redis-application --link my-redis-container:redis -d centos

Para conectarse a una instancia de Redis desde otro contenedor Docker con una interfaz de línea de comandos, enlaza el contenedor y especifica el host y el puerto con los siguientes dos parámetros: -h redis -p 6379.

Por ejemplo:

sudo docker run -it --name my-redis-cli --link my-redis-container:redis --rm redis redis-cli -h redis -p 6379

Esto te conectará al nuevo contenedor my-redis-cli con my-redis-container a través de una conexión redis-cli. Utiliza las combinaciones de teclas [Ctrl] + [P] y [Ctrl] + [Q] para salir de este contenedor y volver a la línea de comandos.

Certificados SSL con IONOS

Protege tu dominio y consigue la confianza de tus clientes con una página web con encriptación SSL.

Activación fácil
Seguridad máxima
Asistencia 24/7

Conectarse a un contenedor Redis desde un servidor remoto

También es posible conectar Docker a Redis desde un servidor. Para ello, es necesario utilizar el redireccionamiento de puertos de Docker. El redireccionamiento permite acceder al contenedor con la dirección IP o el nombre de dominio del servidor host.

Para utilizar el redireccionamiento de puertos de Docker para Redis, añade el parámetro -p [puerto del host]:6379 al comando docker run.

A continuación, puedes configurar el redireccionamiento de puertos para que puedas conectarte al contenedor a través de, por ejemplo, el puerto 7001 (el puerto TCP-/UDP estandarizado para ello). Para redireccionar el puerto puedes utilizar el siguiente comando de docker run:

 

sudo docker run --name my-redis-container -p 7001:6379 -d redis 

A continuación, puedes cambiarte a otro servidor y acceder al contenedor my-redis-container con el siguiente comando:

sudo redis-cli -h [IP del host o nombre de dominio] -p 7001

Si el servidor host en el que se ejecuta el contenedor Docker de Redis tiene, por ejemplo, la dirección IP 192.168.0.1, con el siguiente comando podrás acceder al contenedor de Redis desde cualquier servidor:

sudo redis-cli -h 192.168.0.1 -p 7001
Nota

Si utilizas un cortafuegos, debes permitir el acceso externo a los puertos correspondientes, de lo contrario se bloqueará el acceso. Para ello, solo necesitas ir a la configuración de tu cortafuegos y permitir el acceso a los puertos afectados.

Cargar un archivo redis.conf customizado

Si tienes un archivo redis.conf customizado en el que ya has configurado Redis, puedes cargarlo al iniciar el contenedor añadiendo el parámetro -v al comando docker run:

-v [path to custom redis.conf file]:/usr/local/etc/redis/redis.conf

Solamente necesitas añadir la ruta de tu archivo .conf al comando. Para, por ejemplo, cargar el archivo customizado con la ruta /data/myredis/redis.conf, el comando es el siguiente:

sudo docker run --name my-redis-container -v /data/myredis/redis.conf:/usr/local/etc/redis/redis.conf -d redis