Docker安装之Redis

sudo docker pull redis:6.2

#修改启动默认配置(从上至下依次):
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
protected-mode no #默认yes,开启保护模式,限制为本地访问
#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败
daemonize no
appendonly yes #redis持久化(可选)
requirepass '' #安全访问密码

获取指定版本的Redis镜像

sudo docker pull redis:6.2

或者在dockerhub上,获取官方最新版本

优先启动容器,将容器内的redis.conf文件,复制到宿主机上,便于后期进行映射和修改配置

#先启动redis容器
docker run -p 6371:6379 --name redis 镜像id
 redis-server /etc/redis/redis.conf

#查询是否启动成功
docker ps

#在宿主机新建redis.conf
mkdir -p /data/myredis
cd /data/myredis
touch redis.conf

拷贝容器内的redis.conf覆盖本地空的redis配置文件

#复制redis.conf配置文件
docker cp 容器id:/etc/redis/redis.conf /data/myredis/redis.conf

关闭删除容器

docker stop 容器id
docker rm 容器id

修改本地redis.conf文件中的常用配置

#修改启动默认配置(从上至下依次):
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
protected-mode no #默认yes,开启保护模式,限制为本地访问
#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败
daemonize no
appendonly yes #redis持久化(可选)
requirepass '' #安全访问密码

修改配置文件后,再次启动容器,并查看启动日志


docker run --restart=always --log-opt max-size=100m --log-opt max-file=2
 -p 6371:6379 --name redis 
-v /data/docker/redis/redis.conf:/etc/redis/redis.conf 
-v /data/docker/redis/data:/data -d 镜像id redis-server /etc/redis/redis.conf
 --appendonly yes

#以上命令输入后,会返回容器id,使用此容器id查看容器的启动日志
docker logs -f 容器id

遇到的坑

  • 早期的 Docker Redis 在容器中的配置文件,在一个专门的、特定的目录下,但现在没有了。从 5.x 版本开始 Docker Redis 改变了思路:你可以将配置文件放在任意位置,然后在 Redis 启动时告诉 Redis 从哪里加载配置文件即可。因此你想要配置容器内的 Redis,那么你需要在宿主机中准备好一个配置文件,然后映射到容器中的任意位置,然后将这个「任意位置」告诉容器中的 Redis
  • 如果docker -d启动redis容器,redis.conf不要配置守护进程启动,会造成无法正常启动redis,并且没有启动日志,因为docker启动参数跟redis.conf配置冲突了。
  • 如果配置了Redis,客户端可连,但是Spring Boot不可以,就将配置文件中的password改完auth
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芦蒿炒香干

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值