Docker最佳实践(四):安装redis

大家好,欢迎各位工友。 本篇呢我们就来演示一下如何在Docker中部署redis容器,可以按照以下步骤进行:

1、搜索并拉取Redis镜像

-   使用`docker search redis`来搜索官方的Redis镜像。
-   使用`docker pull redis`来拉取最新的官方Redis镜像。

在这里插入图片描述

2、 准备配置和数据目录

-   创建必要的目录以存储Redis的配置和数据,例如:

    ```
    mkdir -p /kim/redis/data
    mkdir -p /kim/redis/conf
    ```

获取redis.conf配置文件,可以从 Redis官网 下载对应版本的配置文件并放到 /kim/redis/conf目录下。如果你使用的是最新版本的 docker 镜像,不知道版本号是多少,可以去 DockerHub 官网查看,也可以使用如下方式查看:

# 或者通过镜像查看,里面有redis版本信息
docker inspect 镜像ID

# 也可以先启动一个容器,然后在宿主机使用如下命令查看:
docker exec -it 容器ID redis-server -v

下载完 redis.conf 复制一份到 /kim/redis/conf 目录下。

3、 修改配置文件(可选):

修改redis.conf文件以满足需要,例如启用远程访问、设置密码等。

# bind 127.0.0.1 				# 注释掉,这是限制redis只能本地访问
protected-mode no 		# 默认yes,开启保护模式,限制为本地访问
daemonize no					# 使用no,使用yes后台启动会和 docker run -d 的参数冲突,可能会启动失败
appendonly yes 				# redis持久化(可选)
requirepass 密码 			 # 配置redis访问密码

4、启动容器

1. 启动Redis容器

使用以下命令启动Redis容器,并挂载配置和数据目录:

sudo docker run -d --privileged=true --restart=always --name redis --sysctl net.core.somaxconn=511   -p 6379:6379 \
-v /kim/redis/conf:/etc/redis \
-v /kim/redis/data:/data \
-v /etc/localtime:/etc/localtime redis redis-server /etc/redis/redis.conf

在这里插入图片描述
使用远程工具连接测试:
在这里插入图片描述

2、常见异常问题解决办法

上述演示过程已经去除这些问题,请知悉。

1、内存超分配(overcommit)的设置问题、内核参数不够大,请求设置为511的异常,以及权限异常

在这里插入图片描述

  • 对于内存超分配问题解决方法:

  • 编辑 /etc/sysctl.conf 文件(或在某些系统上,可能是 /etc/sysctl.d/ 目录下的文件)。

  • 添加或修改以下行:

  • vm.overcommit_memory = 1

  • 保存文件并重新启动系统,或者运行 sudo sysctl -p 来立即应用更改。
    在这里插入图片描述

  • 对于内核参数不够大,请求设置为511的异常,以及权限问题:redis不推荐使用root用户运行容器。
    可以换一个用户执行以下命令即可,前提是先删除上个运行的redis容器。

#添加内核参数设置
--sysctl net.core.somaxconn=511
2、本地程序远程连接失败

出现的原因是,redis7.0以后的版本用户名由root更变为default更改如下配置即可
在这里插入图片描述

5、总结

上述我们演示了如何在docker中安装mysql镜像以及启动mysql容器,下篇文章我们来演示nginx的安装教程。

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

kimloner

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

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

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

打赏作者

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

抵扣说明:

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

余额充值