Docker安装Redis6、并打成镜像在其他内网环境部署

1、Docker redis指定版本拉取和启动

拉取指定版本的镜像:docker pull redis:6.2.0

 拉取官方的 redis.conf 配置文件,注意版本【自己redis是6.2.0但是配置文件拉取最新的,可能导致很多配置不支持】或者可以使用下面的该配置【已上传至阿里云,也在本博客最后附录配置文件内容】:链接: https://pan.baidu.com/s/1JFsFEWHAKzjHVfrjMQVwlQ?pwd=w2jv

修改redis配置项,更多配置可以参考:https://blog.csdn.net/it_lihongmin/article/details/115842591

  • 修改bind的ip【即可以访问的ip白名单】:bind 0.0.0.0 不能修改为:bind 0.0.0.0 -::1
  • 保护模式,可以修改为no,客户端可访问:protected-mode no
  • 是否为后台启动:daemonize no, 如果docker run启动是增加了-d即后台启动了,这里一点设置为no,否则启动不起来,并且 docker logs --tail=20 container_id 日志还为空,坑死了
  • 设置密码登陆,建议设置:requirepass mosty123
  • 持久化机制之aof【保存执行的命令】:appendonly yes
  • 再结合配置aof日志文件:appendfilename "appendonly.aof"
  • 再结合回写时机,建议每秒:appendfsync everysec【可选 no、always】
  • 持久化之rdb:save 900 1 #表示多少秒之内有多少个key发生变化,则会触发保存rdb,这里使用:
    save 3600 1
    save 300 100
    save 60 10000

关于rdb和aof根据使用情况设置,如果redis重启数据可以使用旁路缓存(Cache Aside)保存,不影响业务可以两者都不开启,如果性能要求不高,建议开始rdb (值配置大一些),aof也建议开启并且每秒持久化。

下面就直接使用命令创建并启动docker镜像:启动说明:

  • -p 6379:6379 将docker与centos的端口进行挂载;
  • --name mosty-redis 启动的docker名称;
  • -v 将服务器/home/mosty/redis/redis.conf配置文件挂载到docker的/etc/redis/redis.conf;
  • -d redis:6.2.0 后台启动redis;
  • redis-server /etc/redis/redis.conf 启动redis,使用docker中的配置文件,最终只有挂载的地址;
  • --appendonly yes 使用命令行的方式开启aof日志,优先级高于配置文件【建议使用配置】;
  • --requirepass mosty123 使用命令行方式开启访问密码,优先级高于配置文件【建议使用配置】;
docker run --privileged -it \
-p 6379:6379 --name mosty-redis \
-v /home/mosty/redis/redis.conf:/etc/redis/redis.conf \
-v /home/mosty/redis/data:/home/mosty/redis/data \
-d redis:6.2.0 redis-server /etc/redis/redis.conf \
--appendonly yes \
--requirepass mosty123

启动前面建议将data目录执行创建,并且将 redis.conf 设置权限比如:chmod 777 redis.conf

2、Docker Redis并打成镜像在其他内网环境部署 

将当前docker打成包,方便后没有镜像不能docker pull时使用:

docker save -o docker-redis6.2.0.tar.gz redis:6.2.0

也可以使用 docker save 【id】> docker-redis6.2.0.tar.gz redis:6.2.0 

在其他不能连外网镜像进行拉取的时候,可以将 tar.gz 镜像包上传到服务器指定位置,再导入。

cd命令跳转到tar.gz存放目录,在执行载入命令:docker load < docker-redis6.2.0.tar.gz

然后跟上面一样设置redis.conf, 并且使用 docker run命令启动即可。。。 

3、Docker安装Reids遇到的问题

1、docker 启动失败,docker logs --tail 200 container_id 日志也为空

可以去查询linux机器日志: tail -n 100 /var/log/messages

2、auditd[441]: Audit daemon rotating log files

Apr 30 23:19:46 iZ2ze4zhiwnwqxsc7wehwlZ kernel: docker0: port 1(veth87f7d0b) entered disabled state
Apr 30 23:19:46 iZ2ze4zhiwnwqxsc7wehwlZ kernel: docker0: port 1(veth87f7d0b) entered disabled state
Apr 30 23:19:46 iZ2ze4zhiwnwqxsc7wehwlZ kernel: device veth87f7d0b left promiscuous mode
Apr 30 23:19:46 iZ2ze4zhiwnwqxsc7wehwlZ kernel: docker0: port 1(veth87f7d0b) entered disabled state
Apr 30 23:20:01 iZ2ze4zhiwnwqxsc7wehwlZ systemd: Started Session 867 of user root.
Apr 30 23:26:06 iZ2ze4zhiwnwqxsc7wehwlZ auditd[441]: Audit daemon rotating log files

最后找到原因docker run的时候设置了 -d参数(后台)启动; redis.conf 中也设置了

daemonize no结果就是docker logs没有日志,并且查看tail -n 100 /var/log/messages机器日志也是没那么清晰。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Docker安装Redis镜像,可以按照以下步骤进行操作: 1. 首先,执行命令`docker search redis`,在Docker Hub上搜索Redis镜像,以获取可用的镜像选项。 2. 选择一个适合的Redis镜像,执行命令`docker pull <镜像名称>`来下载镜像到本地。例如,可以使用官方的Redis镜像执行命令`docker pull redis`来下载最新版本的Redis镜像。 3. 创建一个目录来存储Redis的数据文件,可以执行命令`mkdir -p ~/redis/data`来创建一个名为redis的目录,并指定数据文件存储位置。 4. 运行Redis容器,使用下载好的Redis镜像创建一个容器实例。可以执行命令`docker run -d -p 6379:6379 --name redis -v ~/redis/data:/data redis`,其中`-d`参数表示以后台模式运行容器,`-p`参数表示将容器的6379端口映射到主机的6379端口,`--name`参数表示为容器指定一个名称,`-v`参数表示将主机的redis目录挂载到容器的/data目录。 5. 现在,Redis容器已经成功运行并且可以通过主机的6379端口访问了。可以使用Redis命令行工具或者其他客户端工具来连接和管理Redis服务器。 通过以上步骤,您可以在Docker安装和运行Redis镜像。请确保您已经在主机上安装Docker,并且具有适当的权限来执行相关操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [redis离线docker镜像](https://download.csdn.net/download/qq_37729767/12412482)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【Docker容器化】使用Dockerfile安装redis镜像](https://blog.csdn.net/mjh1667002013/article/details/127606929)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值