avatar

瓜生花子八宝粥

少壮不努力 老了看浏览器

  • 首页
  • 开源项目
  • Linux
  • Windows
  • Docker
  • 中间件
  • 数据库
主页 容器部署redis
文章

容器部署redis

发表于 2024-12-31 更新于 2025-04- 11
作者 jepwei
18~24 分钟 阅读

1. 下载 Redis 镜像

# 下载镜像
docker pull docker.jepwei.us.kg/redis-5.0.14:v1.0

# 检查当前所有 Docker 下载的镜像
docker images

2. 创建 Redis 配置文件

2.1 注意事项:

  1. 启动前需先创建 Redis 外部挂载的配置文件(/home/redis/conf/redis.conf)。

  2. 需要提前创建配置文件,因为 Redis 容器内仅存在 /etc/redis 目录,默认情况下不会创建 redis.conf 文件。

  3. 当服务器和容器中都不存在 redis.conf 文件时,执行启动命令时 Docker 会将 redis.conf 作为目录创建,这并不是我们所期望的结果。

# 创建目录
mkdir -p /home/docker/redis/conf
mkdir -p /home/docker/redis/data
chmod 777 /home/docker/redis/{conf,data}

# 创建文件
touch /opt/redis/conf/redis.conf

3. 创建 Redis 容器并启动

3.1 使用 docker-compose.yml 启动

services:
  redis:
    image: docker.jepwei.us.kg/redis-5.0.14:v1.0
    container_name: redis
    restart: always
    logging:
      options:
        max-size: "100m"
        max-file: "2"
    ports:
      - "6379:6379"
    volumes:
      - /home/docker/redis/conf/redis.conf:/etc/redis/redis.conf
      - /home/docker/redis/data:/data
    command: redis-server /etc/redis/redis.conf --appendonly yes

3.2 命令功能说明

命令

功能

docker run

创建并运行一个新的容器

--restart=always

容器退出后自动重启

--log-opt max-size=100m

容器日志最大大小为 100MB

--log-opt max-file=2

最多保留 2 个日志文件

-p 6379:6379

将宿主机的 6379 端口映射到容器的 6379 端口

--name redis

给新创建的容器命名为 "redis"

-v /opt/redis/conf/redis.conf:/etc/redis/redis.conf

将宿主机上的配置文件挂载到容器内

-v /opt/redis/data:/data

将宿主机的数据目录挂载到容器内

-d

以分离模式运行容器

redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456

启动 Redis 服务,使用指定配置文件,设置追加写入和密码

4. 修改 Redis 配置文件

# 修改 /home/docker/redis/conf/redis.conf
protected-mode no
bind 0.0.0.0
requirepass qweqwe123

4.1 命令功能说明

命令

功能

protected-mode no

关闭保护模式,允许外部网络访问

bind 0.0.0.0

设置所有 IP 地址都可以访问

6. 重启 Redis 服务

# 重启 redis 服务
docker restart redis

7. 使用 RDM 进行远程连接

在 RDM 中进行远程连接时,请确保 Redis 配置文件已正确设置,并且服务已重启。

8. 常见问题及解决方案

  • 问题:无法连接到 Redis 服务

    • 解决方案:检查防火墙设置,确保 6379 端口已开放,并确认 Redis 服务正在运行。

  • 问题:Redis 服务启动失败

    • 解决方案:查看 Docker 日志,使用 docker logs redis 命令获取详细错误信息,检查配置文件是否正确。

  • 问题:数据未持久化

    • 解决方案:确保数据目录已正确挂载,并检查 redis.conf 中的持久化设置是否已启用。

9. 参考资料

  • Redis 官方文档

  • Docker 官方文档

补充:如果需要完整原始的redis.conf可以用以下的配置。

bind 0.0.0.0
protected-mode no
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no
supervised no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile ""
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
replica-priority 100
requirepass qweqwe123
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes

Docker
Redis docker
许可协议: 
分享

相关文章

7月 16, 2025

pritunl vpn 部署

docker pull jippi/pritunl:latest mkdir /data/pritunl/{mongodb,pritunl} -p docker run \ -d --name pritunl \ --privileged \ --restart alwa

7月 15, 2025

dockovpn 部署

docker run -itd --rm --cap-add=NET_ADMIN \ -p 1194:1194/udp \ -e HOST_ADDR=36.133.208.184 \ -e NET_ADAPTER=eth0 \ -v openvpn_conf:/opt/Dockovpn_data \

7月 15, 2025

wireguard vpn 部署

下一篇

Notepad - 简单的文本编辑器

上一篇

容器部署fastdfs

最近更新

  • 1panel 部署
  • jumpserver 堡垒机部署
  • ubuntu 设置时间显示为24小时制
  • pritunl vpn 部署
  • dockovpn 部署

热门标签

nacos openvpnas 资源分享 docker oracle mysql ubuntu 开源项目 虚拟化 Linux

目录

©2025 瓜生花子八宝粥. 保留部分权利。

使用 Halo 主题 Chirpy