docker安装redis,加入配置文件

这篇博客讲述了如何在Docker中安装Redis,并详细介绍了如何处理缺少配置文件的问题,包括下载配置文件、修改配置、创建本地与Docker的映射目录、启动Redis容器以及解决外部连接Redis失败的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天博主在 docker 里装了一下 redis ,发现了一个问题,平时 redis 开启远程连接,只要改一下配置文件就行了

但是 docker 里的 redis 只有一个镜像,没有配置文件啊。这就有点操蛋了,于是乎博主又是一顿操作,终于百度到了能用的

先记录一波,以防以后踩坑

1.先pull一手,把镜像搞下来

docker pull redis

2.pull完后看一下有没有镜像搞下来

安装好之后使用docker images即可查看

docker images

3.去redis官网下个配置文件

因为需要redis的配置文件,这里最好还是去redis的官方去下载一个redis使用里面的配置文件即可

redis中文官方网站:http://www.redis.cn/download.html
在这里插入图片描述
下载后解压出来:
在这里插入图片描述

4.配置redis.conf配置文件

修改 redis.conf 配置文件:
主要配置的如下:

 bind 127.0.0.1 #注释掉这部分,使redis可以外部访问
 daemonize no#用守护线程的方式启动
 requirepass 你的密码#给redis设置密码
 appendonly yes#redis持久化  默认是no
 tcp-keepalive 300 #防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300

5.创建本地与docker映射的目录,即本地存放的位置

创建本地存放redis的位置;

可以自定义,因为我的docker的一些配置文件都是存放在/data目录下面的,所以我依然在/data目录下创建一个redis目录,这样是为了方便后期管理

truedei@truedei:redis-5.0.5$ sudo mkdir /data/redis
truedei@truedei:redis-5.0.5$ sudo mkdir /data/redis/data

6. 启动redis (示例)

docker run -p 6379:6379 --name redis -v /data/redis/redis.conf:/etc/redis/redis.conf  -v /data/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

-p 6379:6379:把容器内的6379端口映射到宿主机6379端口
-v /data/redis/redis.conf:/etc/redis/redis.conf:把宿主机配置好的redis.conf放到容器内的这个位置中
-v /data/redis/data:/data:把redis持久化的数据在宿主机内显示,做数据备份
redis-server /etc/redis/redis.conf:这个是关键配置,让redis不是无配置启动,而是按照这个redis.conf的配置启动
–appendonly yes:redis启动后数据持久化

7.启动完成后看一手是否启动成功 ,再远程连接一手,基本都是ok的了

docker ps

在这里插入图片描述

8、外部连接redis失败 需要排查

redis开始了保护模式,继续查看redis.conf文件
解决方法分为两种

  • 1、关闭protected-mode模式
    protected-mode=no
  • 2、配置bind或者设置密码
    bind 0.0.0.0 或者 bind 指定ip
### 如何在 Docker安装 Redis 并设置 Redis 自启动 #### 创建挂载目录 为了持久化存储和管理配置文件,在主机上创建一个用于挂载的目录结构。执行以下命令来完成此操作: ```bash mkdir -p /data/redis/conf ``` #### 下载并准备 `redis.conf` 文件 通过官方资源下载最新的 `redis.conf` 配置文件到指定路径下,并赋予其适当权限以便后续使用。 ```bash wget http://download.redis.io/redis-stable/redis.conf -P /data/redis/conf/ chmod 777 /data/redis/conf/redis.conf ``` #### 修改配置文件中的必要参数 编辑 `/data/redis/conf/redis.conf` 文件,调整如下选项以满足需求: - **解除绑定地址限制** 注释掉默认仅允许本地访问的部分,使得外部客户端能够正常连接至该实例。 ```conf # bind 127.0.0.1 ::1 ``` - **关闭保护模式** 将受保护模式设为否,从而支持远程接入尝试。 ```conf protected-mode no ``` - **设定访问密码(可选)** 如果希望增强安全性,可以定义一个简单的验证字符串作为登录凭证。 ```conf requirepass your_password_here ``` 以上更改均需依据实际业务场景灵活决定。 #### 启动带有自重启策略的服务容器 利用之前定制好的环境变量与映射关系构建稳定运行的目标镜像版本号;同时加入自动恢复机制确保意外中断后能迅速恢复正常工作状态。 ```bash docker run \ --name redis \ --restart=always \ -p 6379:6379 \ -v /data/redis/conf/redis.conf:/etc/redis/redis.conf \ -d redis redis-server /etc/redis/redis.conf ``` 此处的关键在于设置了 `--restart=always` 参数,这表示无论任何情况下都会让这个名为 "redis" 的容器保持活跃运转态势[^1]。 另外还有一种基于 Compose 工具实现相同效果的方式可供参考选用: ```yaml version: '3.8' services: redis: image: redis:latest container_name: base-redis restart: always volumes: - ./data:/data - ./redis.conf:/usr/local/etc/redis/redis.conf command: ["redis-server", "/usr/local/etc/redis/redis.conf"] ports: - "6379:6379" ``` 只需保存上述内容到当前目录下的 `docker-compose.yml` 文档里,接着调用对应指令即可快速部署完毕整个体系架构。 ```bash docker-compose up -d ``` 综上所述,无论是单独运用 CLI 命令还是借助声明式 YAML 描述语言都能达成预期目标——即成功搭建起具备自我修复能力的 Redis 数据库服务端口监听于公网之上供外界自由交互交流之便[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值