Redis è una delle immagini Docker più popolari ed è spesso uti­liz­za­to come database in memoria ul­tra­ve­lo­ce, sia come cache, session store o message broker. In questo articolo ti mostriamo come uti­liz­za­re Redis con Docker e col­le­gar­lo ad altri container Docker o ap­pli­ca­zio­ni esterne.

Server dedicati
Per­for­man­ce e in­no­va­zio­ne
  • Pro­ces­so­ri al­l'a­van­guar­dia di ultima ge­ne­ra­zio­ne
  • Hardware dedicato ad alte pre­sta­zio­ni
  • Data center cer­ti­fi­ca­ti ISO

Vantaggi dell’ese­cu­zio­ne di Redis in Docker

  • Di­stri­bu­zio­ne rapida grazie a immagini pre­con­fi­gu­ra­te
  • Por­ta­bi­li­tà su diversi ambienti
  • Sca­la­bi­li­tà semplice e au­to­ma­zio­ne con Docker Compose o Ku­ber­ne­tes
  • Buon iso­la­men­to per ambienti di sviluppo, test e pro­du­zio­ne
  • Facile in­te­gra­zio­ne nelle ar­chi­tet­tu­re a micro servizi

Requisiti

Per uti­liz­za­re Redis in Docker, hai bisogno di:

  • Un server Linux con in­stal­la­zio­ne Docker (ad esempio Ubuntu 24.04, Debian 12 o AlmaLinux 9)
  • Co­no­scen­ze di base dell’uso della riga di comando
  • Opzionale: accesso senza sudo, tramite ap­par­te­nen­za al gruppo Docker

Primo passaggio: avviare il container Docker di Redis

Con il seguente comando, avvii un semplice container Docker di Redis, che memorizza i suoi dati in modo per­si­sten­te:

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

L’immagine ufficiale di Redis dal Docker Hub utilizza per im­po­sta­zio­ne pre­de­fi­ni­ta la porta 6379 ed è pronta all’uso.

Secondo passaggio: collegare l’istanza Docker di Redis, da container a container

Usa una rete per­so­na­liz­za­ta per con­net­te­re la tua istanza di server Docker-Redis con altri container:

docker network create redis-net
docker run --name my-redis-container --network redis-net -d redis
docker run --name my-redis-client --network redis-net -it redis redis-cli -h my-redis-container
bash

In questo modo, Redis può essere integrato per­fet­ta­men­te con servizi di back end, micro servizi o strumenti am­mi­ni­stra­ti­vi senza l’opzione -link- obsoleta.

Terzo passaggio: concedere l’accesso ai container Docker di Redis dall’esterno

Se desideri uti­liz­za­re Redis non solo in­ter­na­men­te ma anche ester­na­men­te (ad esempio, tramite un server remoto), attiva l’inoltro delle porte:

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

Accesso dal client:

redis-cli -h [host-IP o dominio] -p 7001
bash
N.B.

Apri la porta nel tuo firewall e proteggi la tua istanza con una password nel file redis.conf.

Quarto passaggio: uti­liz­za­re un file redis.conf per­so­na­liz­za­to nel container

Puoi fornire una con­fi­gu­ra­zio­ne per­so­na­liz­za­ta per il server Docker-Redis:

docker run --name my-redis-container \
    -v /data/myredis/redis.conf:/usr/local/etc/redis/redis.conf \
    redis redis-server /usr/local/etc/redis/redis.conf
bash

Questo consente im­po­sta­zio­ni per­so­na­liz­za­te come l’au­ten­ti­ca­zio­ne (requirepass), limiti di memoria o replica.

Con­fi­gu­ra­zio­ne Redis-Docker con Docker Compose

Per progetti più complessi si consiglia l’uso di Docker Compose:

version: '3'
services:
    redis:
        image: redis
        ports:
            - "6379:6379"
        volumes:
            - redis-data:/data
volumes:
    redis-data:
bash

Avvia il tuo ambiente con:

docker compose up -d
bash

Le migliori pratiche per server Docker-Redis

  • Attiva re­qui­re­pass per pro­teg­ge­re l’istanza Redis
  • Usa TLS/SSL per la co­mu­ni­ca­zio­ne crit­to­gra­fa­ta
  • Memorizza i dati nei volumi Docker per una me­mo­riz­za­zio­ne per­si­sten­te
  • Monitora i container con docker logs, Redis CLI o strumenti di mo­ni­to­rag­gio
  • Mantieni re­go­lar­men­te ag­gior­na­te le immagini di Redis e Docker

Con­clu­sio­ne

Un container Docker di Redis si configura in pochi minuti ed è perfetto per lo sviluppo locale e le in­fra­strut­tu­re pro­dut­ti­ve. Grazie all’immagine ufficiale di Redis, ai concetti di rete chiari e alla con­fi­gu­ra­zio­ne semplice, Redis si può collegare ra­pi­da­men­te ad altri container Docker e gestire in sicurezza. Con Docker Compose, un proprio redis.conf e le migliori pratiche, si può ottenere il massimo dalla propria con­fi­gu­ra­zio­ne.

Vai al menu prin­ci­pa­le