docker 部署redis教程

一:创建

  1. 拉取镜像
docker pull redis:7.0.10
  1. 在宿主机的 /var/lib/docker/volumes/redis-config/_data/目录下创建一个redis的配置文件
cd  /var/lib/docker/volumes/redis-config/_data/
vim redis.conf

配置文件的内容为

appendonly yes
port 6379
bind 0.0.0.0
replicaof no one
•	启用AOF持久化,确保数据安全;
•	使用默认端口6379对外提供服务;
•	监听所有网络接口,允许远程访问;
•	明确设置为主节点,不作为从节点存在。

注意安全提示:
如果在公网环境部署Redis,建议启用安全认证(如设置密码),并严格控制访问IP,避免安全隐患。

  1. 如果/var/lib/docker/volumes没有redis-config,创建数据卷
docker volume create redis-config
  1. 创建容器
docker run -d -p 6379:6379 --restart=always -v redis-config:/etc/redis/config -v redis-data:/data --name redis redis redis-server /etc/redis/config/redis.conf

解释一下docker run这条命令

  1. 整体含义: 此命令会启动一个名为redis的Redis容器,持久化数据,并挂载配置文件,容器运行在后台,并且在Docker或主机重启后总是自动启动。 ⸻

  2. 参数详细解释: • docker run • 表示创建并运行一个新容器。 • -d • 容器以后台模式(detached mode)运行,不占用终端。 • -p 6379:6379
    • 将容器的6379端口映射到宿主机的6379端口,使外部网络能访问Redis服务。 • --restart=always
    • 如果容器因错误、主机重启或Docker服务重启而停止,容器将自动重新启动,保证Redis服务持续运行。 • -v
    redis-config:/etc/redis/config
    • 创建或使用名为redis-config的Docker卷(volume),并挂载到容器的/etc/redis/config目录。
    • 用于存放Redis配置文件,比如你的redis.conf。 • -v redis-data:/data
    • 创建或使用名为redis-data的Docker卷(volume),并挂载到容器的/data目录。
    • 存储Redis持久化的数据(如AOF文件、RDB快照)。 • --name redis
    • 为容器指定名称为redis,方便后续管理容器,如docker stop redis、docker logs redis等。
    • redis • 指定使用Docker官方的Redis镜像(默认拉取最新镜像)。 • redis-server
    /etc/redis/config/redis.conf
    • 启动Redis服务时,使用自定义配置文件/etc/redis/config/redis.conf,而不是Redis镜像默认配置。

⸻

  1. 目录结构说明:

容器内的目录结构为:

/etc/redis/config/redis.conf # Redis配置文件
/data # Redis持久化数据

在宿主机上,这些数据实际存储于Docker的volume中,物理位置由Docker管理。

⸻

  1. 使用注意事项:
    • 在宿主机使用docker volume ls能查看创建的卷(redis-config, redis-data)。
    • 使用docker logs redis可查看容器日志。
    • 容器内部文件更新或修改(如修改配置文件)时,记得重启容器docker restart redis使配置生效。
    • 如果需要查看Redis配置文件内容,使用:

docker exec -it redis cat /etc/redis/config/redis.conf

⸻

  1. 安全提醒:
    • Redis默认无密码,且当前配置监听所有网络接口(0.0.0.0):
    • 为避免安全风险,请在配置文件redis.conf中开启Redis认证:

requirepass 你的密码

•	生产环境务必设置认证,避免被未授权访问造成数据泄露。

二:测试

1 查看当前运行的状态

docker ps 

在这里插入图片描述

2 进入容器设置一个数据

docker exec -it redis /bin/bash
redis-cli
set k1 test

3 随便找个redis客户端工具, 我这里直接用navicat了

和连接mysql 差不多 直接ip+端口就可以, 有数据就ok了
在这里插入图片描述
在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐