Introduzione
Redis è una soluzione di database in memoria remota eccezionalmente veloce. Il modello di dati chiave-valore consente a Redis di gestire set di dati di grandi dimensioni mantenendo un'elevata disponibilità e velocità di lettura-scrittura.
I database NoSQL, come Redis, sono pensati per funzionare in modo efficiente in cluster distribuiti con scalabilità orizzontale. L'utilizzo di Docker per distribuire Redis in un container rende il ridimensionamento orizzontale un processo semplice e di routine.
Questo tutorial spiega come distribuire Redis in un container Docker in pochissimo tempo.
Prerequisiti
- Accesso a una riga di comando
- Un'installazione Docker funzionante
- Un utente con root o sudo privilegi
Avvia un container Redis Docker
1. Verifica lo stato corrente del servizio Docker immettendo il seguente comando nel tuo terminale:
sudo systemctl status docker
L'output conferma che Docker è in esecuzione e attivo.
2. Recupera e avvia un container Redis (my-first-redis ) con il docker run
comando:
sudo docker run --name my-first-redis -d redis
Il comando non ha specificato una versione Redis. Il sistema procede al download dell'ultima versione disponibile di Redis per impostazione predefinita.
3. Una volta completato il processo di installazione, controlla lo stato dei contenitori docker correnti con il docker ps
comando:
sudo docker ps
Tra le altre informazioni, il sistema fornisce:
- L'ID contenitore univoco:b36262951bf4
- Porta di accesso:6379 (numero di porta Redis predefinito)
- Il nome del contenitore definito:my-first-redis
Connettiti a Redis con redis-cli
Avvia il redis-cli
interattivo shell dei comandi utilizzando il seguente comando:
sudo docker exec -it my-first-redis sh
Una volta che accedi alla shell interattiva, digita redis-cli
per connettersi all'istanza del contenitore Redis.
Prova i comandi Redis di base
1. Il ping
di Redis Il comando è utile per verificare se è attiva una connessione al database Redis:
ping
La risposta, PONG , indica che la connessione è riuscita.
2. I negozi chiave-valore utilizzano il modello di dati più semplice possibile. Una chiave univoca è associata a un valore. Utilizzare il comando set per definire la chiave name
e la coppia di valori come pnap
:
set name pnap
3. È possibile recuperare il valore utilizzando la chiave univoca name
e il get
comando:
get name
Il risultato recupera il pnap
precedentemente definito valore. Un elenco di tipi di dati e comandi è disponibile nella nostra guida completa Redis Data Types With Commands.
4. Dopo aver esplorato i comandi redis-cli, digita quit
per tornare all'interfaccia del terminal container.
5. Digita exit
per chiudere la connessione con il contenitore Docker.
Utilizzo di un file redis.conf personalizzato (opzionale)
Il redis.conf ti consente di configurare l'autenticazione, limitare i comandi e definire altre impostazioni orientate alla sicurezza.
Se hai creato un file di configurazione Redis personalizzato, utilizza il comando seguente per caricare il file all'avvio del contenitore:
sudo docker run --name my-first-redis -v /myfirstredis/redis.conf:/usr/local/etc/redis/redis.conf -d redis
La posizione di redis.conf il file in questo esempio è myfirstredis/redis.conf
Accedi a Redis da un altro container Docker
1. Usa il --link
opzione per creare e connettere un nuovo container all'istanza Redis esistente:
sudo docker run -it --rm --name my-second-redis --link my-first-redis:redis -d redis
Il comando ha avviato un nuovo contenitore Redis (my-second-redis ), in base all'immagine redis iniziale. Il il mio-primo-redis container verrà chiamato redis all'interno del secondo contenitore.
Inoltre, il --rm
opzione assicura che il secondo contenitore si elimini dopo essere uscito dalla shell interattiva. Questa azione è facoltativa e viene utilizzata per risparmiare risorse.
2. Avvia la shell interattiva all'interno di my-second-redis contenitore:
sudo docker exec -it my-second-redis sh
3. Avvia la riga di comando Redis in my-second-redis container e connettiti a my-first-redis (ora chiamato redis ), con il seguente comando:
# redis-cli -h redis
4. L'originale my-first-redis il contenitore è ancora attivo. Il name
la chiave creata in precedenza è disponibile ed è accessibile dal secondo contenitore:
redis:6379> get name
Il valore della coppia risultante è pnap
.
5. Inserisci quit
per uscire dal redis-cli e quindi digitare exit
per tornare al tuo terminale:
redis:6379> quit
# exit
Accedi a Redis dal server remoto
Puoi utilizzare la funzione di port forwarding Docker per accedere ai container Redis da server remoti.
1. Definire la porta da utilizzare per la connessione remota:
sudo docker run --name my-first-redis -p [port_number]:6379 -d redis
2. Accedi al container Redis da un server remoto utilizzando il nome host o IP e il numero di porta appena definito:
sudo redis-cli -h [host or IP] -p [port_number] -a [password]
Il -a
il flag di autenticazione è facoltativo. Se utilizzato, richiede agli utenti di inserire la propria password per accedere al database Redis.