Consulte o link original: https://blog.csdn.net/weixin_45821811/article/details/116211724
1. Docker procura imagens redis
- Comando: docker search <nome da imagem>
docker search redis
Você pode ver que existem muitas imagens Redis. Como não há uma versão especificada aqui, a versão mais recente é baixada por padrão. redis o mais recente.
2. Docker puxa a imagem
- Comando: :docker pull <nome da imagem>:<número da versão>
docker pull redis
3. Arquivo de configuração de montagem do Docker
A próxima etapa é montar o arquivo de configuração redis e iniciar o contêiner redis no arquivo de configuração. (Montagem: associar os arquivos do host ao diretório interno do contêiner e vinculá-los entre si. Modificar os arquivos no host também modificará os arquivos internos do contêiner) 1)
Monte o arquivo de configuração redis
2) Monte o arquivo de persistência do redis (para persistência de dados).
Meu arquivo de configuração é colocado no
local do arquivo redis.conf em liunx: /home/redis/myredis/redis.conf
O local do arquivo de dados redis em liunx: /home/redis/myredis/data O
local pode ser escolhido por você.
O comando mkdir -p /home/redis/myredis cria diretamente a pasta /home/redis/myredis se ela não existir.
Carreguei myredis.conf manualmente. (O arquivo está no final do artigo, e o arquivo padrão redis.conf também pode ser encontrado no site oficial do redis)
4. Inicie o contêiner redis
docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name myredis -v /home/redis/myredis/myredis.conf:/etc/redis/redis.conf -v /home/redis/myredis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass 000415
- –restart=sempre Sempre inicia na inicialização
- –log é para registros
- -p 6379: 6379 monta a porta 6379 (o negrito é a porta do contêiner,: na frente está a porta do host)
- –name Dê um nome a este contêiner
- -v montagem do volume de dados
————/home/redis/myredis/myredis.conf:/etc/redis/redis.conf Aqui é onde
myredis.conf no caminho liunx e redis.conf no redis são montados juntos.
–———— /home/redis/myredis/data:/data Este é o mesmo que acima - -d redis significa iniciar o redis em segundo plano
- redis-server /etc/redis/redis.conf
inicia o redis com o arquivo de configuração, carrega o arquivo conf no contêiner e finalmente encontra o diretório montado /etc/redis/redis.conf,
que é /home/redis/ no liunx myredis/myredis.conf - –appendonly yes ativa a persistência do redis
- –requirepass 000415 Defina a senha (se você estiver
se conectando através do contêiner interno do docker, você pode configurá-la ou não. Mas se quiser abri-la para o mundo exterior, você deve defini-la. Estou ferrado. Você pode ler isto artigo "Alibaba Cloud Server" Envenenando a experiência do 'Kirito666'") - interface de sucesso
5. Teste
1. Verifique o status de inicialização por meio do comando docker ps
docker ps -a |grep myredis # 通过docker ps指令查看启动状态,是否成功.
2. Visualize os logs de execução do contêiner
docker logs --since 30m <容器名>
Aqui --since 30m é para visualizar o status do log deste contêiner em 30 minutos.
docker logs --since 30m myredis
3. Conecte-se dentro do contêiner para teste
e entre no contêiner
Comando: docker exec -it <nome do contêiner> /bin/bash
O redis-cli que segue aqui insere diretamente o comando acima.
docker exec -it myredis redis-cli
Depois de entrar, insiro diretamente o comando de visualização:
pode haver um
erro de status editável ou inacessível indicando que não há verificação de permissão. (Porque uma senha está definida.)
Verifique a senha:
config get requirepass
6. Arquivo de configuração
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
#bind 127.0.0.1
protected-mode no
port 6379
tcp-backlog 511
requirepass 000415
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 30
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly yes
appendfilename "appendonly.aof"
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-max-len 128
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
7. Docker exclui Redis
Depois de ensinar como instalá-lo, também precisamos aprender como desinstalá-lo, caso contrário não poderemos nos tornar trabalhadores qualificados (cabeça de cachorro manual)
7.1 Exclua o contêiner redis
- Veja todos os contêineres em execução:
docker ps -a
- `Pare de executar o Redis
docker stop myredis # myredis 是我启动redis 命名的别
- Exclua o contêiner redis:
docker rm myredis
7.2. Exclua a imagem Redis.
Após excluir o contêiner, começamos a excluir a imagem Redis.
- Veja todos os comandos de espelho:
docker images
- Exclua o comando de imagem docker rmi <container id>
docker rmi 739b59b96069 # 这是我镜像redis id
Você pode ver que a imagem Redis foi excluída.
—————————————————
Espaço complementar: Porque no A senha do Redis será apagada durante o uso real. Parte do conteúdo será complementado abaixo.
Consulte o link original: https://blog.csdn.net/Lijunhaodeboke/article/details/126346067
1. Docker define senha redis
Método 1: crie um contêiner Redis e defina uma senha
docker run -itd --name redis-6379 -p 6379:6379 redis --requirepass 123456
Nota: --name (启动容器的名称) -p 映射端口:redis启动端口 redis --requirepass 启动密码
Método 2: Crie uma senha ou altere a senha do redis existente:
#1.进入redis的容器
docker exec -it 容器ID bash
#2.进入redis目录
cd /usr/local/bin
#3.运行命令:
redis-cli
#4.查看现有的redis密码:
config get requirepass
#5.设置redis密码
config set requirepass 密码
Isso ocorre porque o Redis definiu uma senha e precisamos usá-la para verificação antes de operar o cliente Redis, caso contrário, não teremos autoridade para operar o banco de dados de cache Redis.
auth 密码
Limpar senha do Redis
#将密码置为空字符串即可
config set requirepass ""
*** Limpar método de senha redisconfig set requirepass ""