WSL子系统通过docker安装redis,解决宿主机springboot程序访问docker中redis连接失败问题

WSL子系统通过docker安装redis,解决宿主机springboot程序访问docker中redis连接失败问题

环境说明

win10 2004

WSL2+ubuntu20.04,已设置清华源+开机自启+已关闭防火墙

docker:19.03.12,且设置了阿里云镜像加速+随WSL子系统开机自启

redis:5.0.7

下载镜像文件

docker pull redis:5.0.7

创建挂载目录

创建redis配置和数据的挂载目录,便于在容器之外调整redis启动配置文件,以及支持数据持久化到容器之外。。

mkdir -p /usr/data/redis/conf
mkdir -p /usr/data/redis/data
cd /usr/data/redis/conf
vi redis.conf
#wq保存退出
#添加权限,可选操作,为防止因为权限问题报错可以加一下
chmod 777 redis.conf

修改redis.conf配置

首先去官网下载最新配置,传送门

然后在本地创建一个副本,在副本里修改一些配置

  • bind 127.0.0.1,注释掉这部分,这是限制redis只能本地访问
  • protected-mode,默认为yes,开启保护模式,限制为本地访问,需要改为no
  • appendonly,redis持久化,设置为yes,就能支持redis数据持久化到本地文件
  • requirepass,连接redis密码,设置你的你的密码即可
  • daemonize,默认为no,不需要改动,如果按某些教程改成yes以守护进程启动,会导致配置文件方式启动redis失败
  • port,容器内redis启动端口,可改可不改,后面会用到,这里先列一下

修改完成后的配置,如下所示:

#bind 127.0.0.1
port 6379
protected-mode no
daemonize no
appendonly yes
requirepass 123456

运行redis容器

docker run -p 6379:6379 \
	-d -v /usr/data/redis/conf/redis.conf:/etc/redis/redis.conf \
	-v /usr/data/redis/data:/data \
	--restart unless-stopped \
	--name redis redis:5.0.7 redis-server /etc/redis/redis.conf 

命令解释:

-p 6379:6379 #宿主机与docker容器端口映射
-d #后台启动
-v /usr/data/redis/conf/redis.conf:/etc/redis/redis.conf #指定启动配置文件挂载
-v /usr/data/redis/data:/data #指定持久化数据挂载目录
--restart unless-stopped #指定redis容器重启策略,开启docker,就会自动启动redis容器,除非你自己stop容器
--name redis #指定容器名称
redis:5.0.7 redis-server /etc/redis/redis.conf #指定使用的镜像,指定启动redis-server,指定启动redis-server
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值