在 Linux 环境下使用 Docker 安装 Redis

Redis 是一款开源的高性能键值数据库,常用于缓存、排行榜、消息队列等场景。在 Linux 环境中,我们可以通过 Docker 快速部署 Redis 实例,避免繁琐的编译与配置过程。本文将手把手带你在 Linux 下使用 Docker 安装并运行 Redis。

一、前提条件

在开始之前,请确保你的 Linux 系统中已经安装好了 Docker。如果尚未安装,可以参考docker安装

二、拉取 Redis 镜像

Docker Hub 上提供了 Redis 的官方镜像,我们只需一条命令即可获取:

docker pull redis

默认会拉取最新版本的 Redis 镜像。你也可以指定版本号,例如 redis:6.2

三、配置以及运行 Redis 容器

拉下镜像之后,点击下面地址选择自己需要的 redis 版本的配置文件,也可以直接使用我的。https://redis.io/docs/management/config/

提前在服务器建立 /data/redis 文件夹,touch 文件redis.conf,如果使用Xshell可以直接导入config文件,需要注意存放的位置即可

得到conf文件后,要看一下里面的内容,针对性的配置一下下面4个参数,有些在conf中自带的就不需要配置了:
bind 0.0.0.1 #使redis可以被任意ip访问

daemonize no #用守护线程的方式启动

requirepass  lihaha1234 #密码 给redis设置密码;注意:密码一定不能为root!!!!

appendonly yes #redis持久化  默认是no

tcp-keepalive 300 #防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300

注意:Redis的密码在配置文件的requirepass指令中设置。修改redis.conf文件,并搜索requirepass

启动命令

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

具体参数含义解释:
1docker run:启动一个新的容器。
2-p 6379:6379:将主机的 6379 端口映射到容器的 6379 端口,允许外部访问 Redis 服务。
3--name redis:为容器指定一个名称 redis。
4-v /xxx/redis/redis.conf:/etc/redis/redis.conf:将主机路径(具体看自己的config文件在哪) /xxx/redis/redis.conf 挂载到容器路径 /etc/redis/redis.conf。这样可以使用主机上的 Redis 配置文件。
5-v /xxx/redis/data:/data:将主机路径 /usr/local/data/redis/data 挂载到容器路径 /data。这样 Redis 数据会存储在主机的这个目录下,以便数据持久化。
6-d:以守护进程模式运行容器,即容器在后台运行。
7redis:指定要使用的 Docker 镜像,默认是从 Docker Hub 拉取最新的 Redis 镜像。
8redis-server /etc/redis/redis.conf:在容器中执行 redis-server 命令,并指定使用 /etc/redis/redis.conf 作为配置文件启动 Redis 服务。
9--appendonly yes:附加参数,启用 Redis 的 AOF(Append-Only File)持久化模式,这将确保 Redis 每次写操作后都会将数据追加到文件中,以确保数据的持久性。

四、如何设置防火墙不拦截 Redis 端口(默认是 6379)

假如你部署的 Linux 系统使用的是 ufwfirewalld,可以参考以下两种方式配置防火墙:

🔹 1. 使用 ufw(Ubuntu 常用)

# 查看防火墙状态 
sudo ufw status 
# 允许 6379 端口通过 
sudo ufw allow 6379/tcp 
# 重启防火墙 
sudo ufw reload

🔹 2. 使用 firewalld(CentOS、RedHat 常用)

# 开启 6379 端口(永久生效) 
sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent 
# 重新加载防火墙规则 
sudo firewall-cmd --reload 
# 查看已开放的端口 
sudo firewall-cmd --list-ports

🔸注意安全: 如果你的 Redis 服务对外开放,建议配合设置密码或配置白名单,防止被恶意访问。

如果是云服务器,记得在安全组那里,开放自己容器的端口

最后远程测试

五、其他注意事项

1、重置config配置

记得先删除自己的镜像和容器
# 删除镜像
docker rmi redis
# 删除容器
docker rm -f -v redis

2、docker redis配置文件要与redis镜像版本保持一致

配置主从复制和读写分离的话:
pidfile路径:/var/run/自己设置的路径

bind IP地址:0.0.0.0

logfile:空

daemonize:no

masterauth:主节点requirepass设置的密码
replicaof 主节点IP地址 主节点redis端口

save 10 1 #十秒内有一个key改动就执行快照备份

docker快速暴露问题:去掉-d后台运行就可以运行问题

 3、云服务器docker安装reids,防火墙也放开了 为啥redis desktop 就是连接不上

记得注释掉 bind 127.0.0.1 ::1

4、redis的默认用户名是default

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值