Utilizzare Redis con i container Docker: come funziona

Redis è tra le immagini di Docker più popolari. Tra le altre cose, l’archivio di strutture chiave-valore permette di salvare container Docker. Redis e Docker si collegano tra loro nel terminale. Vi mostriamo come funziona.

Requisiti per l’utilizzo di Redis

Dopo l’installazione di Docker su un server Linux ci si chiede spesso dove salvare concretamente i file dei container Docker. Redis è un database NoSQL che offre la soluzione ideale grazie alla rapidità delle sue prestazioni. Prima di collegare Redis e Docker, assicuratevi di rispettare i seguenti requisiti:

  • Docker è installato e funziona correttamente.
  • Avete familiarità con i comandi e le funzioni basilari di Docker.
  • Avete un server cloud con Linux (Ubuntu 14.04 o CentOS 7).

Server virtuali (VPS) di IONOS

Hosting VPS conveniente e potente per gestire le tue applicazioni personalizzate, con consulente personale e supporto 24/7.

100% storage SSD
Pronto in 55 sec.
Certificato SSL

Eseguire Redis in un container Docker

L’immagine ufficiale di Redis è una delle tre immagini Docker più apprezzate. Contiene il comando EXPOSE 6379 (la porta standard usata da Redis) che permette di utilizzare automaticamente Redis su tutti i container collegati.

Per eseguire un’istanza di Redis in un container Docker denominato my-redis-container, utilizzate il comando:

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

Collegare Redis a un altro container Docker

Per creare un collegamento con un’istanza di Redis di un altro container Docker, inserite --link[Redis Containername oder ID]:redis al comando docker-run di questo container.

Questo, ad esempio, vi permette di avviare un container denominato my-redis-application dall’immagine CentOS-7 ufficiale e collegarlo con il container my-redis-container appena creato. Per farlo, utilizzate il comando:

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

Per creare un collegamento con un’istanza di Redis da un altro container Docker tramite un’interfaccia a riga di comando, collegate i container e indicate l’host e la porta con -h redis -p 6379.

Ad esempio:

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

In questo modo collegherete con il nuovo container my-redis-cli il container my-redis-container attraverso un collegamento redis-cli. Utilizzate la combinazione di tasti [CTRL] + [P] e [CTRL] + [Q] per abbandonare questo container e tornare alla riga di comando.

Certificati SSL di IONOS

Proteggi il tuo dominio e ottieni la fiducia dei clienti con un sito crittografato tramite SSL!

Facile attivazione
Sicurezza
Supporto 24/7

Creare un collegamento a un container Redis da un server remoto

È anche possibile collegare Docker con Redis da un server. Per farlo, dovrete utilizzare l’inoltro delle porte di Docker che vi permette di accedere al container con l’indirizzo IP o il nome di dominio del server host.

Per utilizzare il port forwarding di Docker per Redis, inserite al comando docker run il flag -p [host port]:6379.

Così si configura l’inoltro delle porte in modo da collegarvi con il container attraverso la porta 7001, (la porta standard dei protocolli TCP-/UDP). Il comando docker run è il seguente:

 

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

Infine, è possibile passare a un altro server e accedere al container my-redis-container con il comando seguente:

sudo redis-cli -h [host IP or domain name] -p 7001

Per esempio, se l’indirizzo IP del server host su cui è in esecuzione il container Redis-Docker è 192.168.0.1, il seguente comando vi permette di accedere al container Redis da qualsiasi server vogliate:

sudo redis-cli -h 192.168.0.1 -p 7001
N.B.

Se utilizzate un firewall, dovete autorizzare un accesso esterno alle porte corrispondenti, altrimenti l’accesso sarà bloccato. Per farlo, andate nelle impostazioni del firewall e autorizzate l’accesso alle porte interessate.

Caricare un file redis.conf definito dall’utente

Se avete un file redis.conf definito dall’utente dove avete già configurato Redis, potete caricarlo all’avvio del container inserendo al comando docker run il flag -v:

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

A questo comando dovrete anche allegare il percorso del vostro file con estensione conf. Per caricare, ad esempio, un file definito dall’utente con il percorso /data/myredis/redis.conf, il comando sarà:

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