虚拟机A中docker安装redis,redis设置密码后连接不上
虚拟机是服务器物理机安装exsi6.7创建的centos7虚拟机
docker版本23.0.0
redis版本7.0.8
首先redis挂载外置redis.conf不设置密码,可以连接
修改配置如下后,连接失败。
appendonly yes
protected-mode no
port 6379
requirepass admin
bind 0.0.0.0
docker启动命令如下
docker run -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /mydata/redis/data:/data \
-d --name myredis \
-p 6379:6379 \
redis:7.0.8 redis-server /etc/redis/redis.conf
测试过的方法:
根据您描述的问题,docker安装redis后,修改配置文件后无法连接的问题,这里推荐以下几种可能的解决方法:
1.检查6379端口是否打开或者被占用
2.检查redis.conf文件修改后的编码是否被改变了,导致无法正常读取conf文件
3.检查requirepass设置密码的地方是否有空格或非法字符,换其它密码试试
4.在redis启动后再设置密码看看是否成功config set requirepass 123456
由于您的redis安装在虚拟机中的docker中,因此在连接redis时需要考虑Docker的网络配置。
如果redis安装在Docker中,并且您要在另一个主机(如虚拟机)上连接到redis,则需要确保redis服务器在Docker容器中配置为运行在适当的网络模式(例如桥接模式)。此外,您还需要确保redis配置文件(redis.conf)中的bind参数配置正确,以便外部主机可以访问redis。
如果在redis.conf中设置了密码,请确保在连接redis时使用正确的密码。可以使用redis-cli工具进行测试,例如:
redis-cli -h <redis-host> -p <redis-port> -a <redis-password>
如果仍然无法连接,可以尝试检查以下内容:
1.确保redis服务正在运行:在Docker容器中运行命令“docker ps”,以确保redis正在运行。
2.检查端口是否正在监听:使用命令“netstat -lntp”检查端口是否正在监听。
3.检查防火墙设置:检查是否有防火墙阻止了对redis端口的访问。
4.检查容器内部的配置:如果您使用了容器网络,请检查