跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / Bash

Docker 部署 Redis 并实现公网远程访问

Docker 部署 Redis 容器涉及安装 Docker 引擎、拉取镜像、配置持久化及启动服务。本地连接需使用图形化工具测试连通性。在无公网 IP 环境下,可通过内网穿透工具将本地端口映射至公网,实现异地远程访问与管理,提升分布式系统运维效率。

无尘发布于 2026/3/16更新于 2026/10/16102 浏览
Docker 部署 Redis 并实现公网远程访问

概述

Redis 作为缓存工具,凭借毫秒级响应、丰富数据类型和灵活扩展能力,成了 Docker 化应用的常用选择,特别适合需要快速读写数据的场景,比如会话存储、计数器等。实际使用中,Docker 部署 Redis 确实方便,但要注意配置持久化参数,否则容器重启可能丢数据。本地测试没问题,远程管理则需解决网络访问问题。

本文主要介绍如何在 Ubuntu 使用 Docker 部署 Redis 容器并结合内网穿透工具实现无公网 IP 环境远程访问本地数据库。

1. 安装 Docker 步骤

本文中使用的操作系统为 Ubuntu 22.04。

添加 Docker 源

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# Add the repository to Apt sources:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装 Docker 包

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

验证 Docker 引擎安装是否成功

sudo docker run hello-world

此命令下载测试映像并在容器中运行它。当容器运行,它打印确认消息并退出。

2. 使用 Docker 拉取 Redis 镜像

首先在终端中执行下方命令拉取镜像:

sudo docker pull redis

查看镜像命令:

sudo docker images

可以看到成功拉取了 Redis 镜像。

3. 启动 Redis 容器

在启动容器前,需要简单修改一下 Redis 外部挂载的配置文件。

本教程中,首先创建了 /usr/local/redis/conf/redis.conf 文件,然后使用 nano 编辑器写入了 redis.conf 文件,保存后退出编辑器。

配置文件内容如下:

# 任何 ip 可以访问
bind 0.0.0.0
# 守护进程
daemonize yes
# 不启用保护模式
protected-mode no
# 指定 redis 运行的端口
port 6379
tcp-backlog 511
timeout 0
# 持久化文件名称
dbfilename xdclass.rdb
# 持久化文件存储路径
dir /data/
# 持久化策略,10 秒内有个 1 个 key 改动,执行快照
save 10 1
# rdbcompression yes
# rdbchecksum yes
# appendonly yes
# 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

接下来在终端中执行下方命令启动容器:

sudo docker run -p 6379:6379 --name redis -v /usr/local/redis/data:/data -v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf -d redis redis-server /etc/redis/redis.conf

这里我给容器的名称起为 redis,您可以根据需要替换成其他名称。

然后执行下方命令查看容器是否正在运行:

sudo docker ps

可以看到刚才创建的 redis 容器正在运行中。

4. 本地连接测试

4.1 安装 Redis 图形化界面工具

如果我们已经在 Docker 中本地部署了 Redis 容器,如果要在本地进行连接测试,可以下载 Redis 图形化界面工具:Redis Desktop Manager。

4.2 使用 RDM 连接测试

默认安装完成后,点击左下红框位置的连接 Redis Server 按钮。

在弹出的窗口中,需要填入本机 IP 地址和 Redis 的端口号:

输入后点击连接测试,如看到弹出框提示成功连接,即本地连接 Redis 测试成功。

5. 公网远程访问本地 Redis

不过我们目前只能在本地使用刚刚部署的 Redis,如果身在异地,想要远程访问在本地部署的 Redis 容器,但又没有公网 IP 怎么办呢?

我们可以使用内网穿透工具来实现无公网 IP 环境下的远程访问需求。

5.1 内网穿透工具安装

下面是安装内网穿透工具步骤:

  • 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动 cpolar 服务
sudo systemctl start cpolar

内网穿透工具安装成功后,在外部浏览器上访问 Linux 的 9200 端口即:【http://服务器的局域网 IP:9200】,使用账号登录,登录后即可看到 Web 配置界面,接下来在 Web 管理界面配置即可。

5.2 创建远程连接公网地址

登录 Web UI 管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复,本例使用了:redis
  • 协议:TCP
  • 本地地址:6379
  • 端口类型:随机临时 TCP 端口
  • 地区:选择 China Top

点击 创建。

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了公网地址,接下来就可以在其他电脑(异地)上,将该地址与端口号分别复制到 Redis Desktop Manager 访问即可。

如下图所示,IP 地址位置填写公网地址,端口号填写对应端口,点击链接测试。

可以看到连接成功!

小结

为了方便演示,我们在上边的操作过程中使用了内网穿透工具生成的 TCP 公网地址隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在 24 小时内会发生随机变化,更适合于临时使用。

如果有长期远程访问 Redis 的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定的 TCP 地址的方式来远程访问。

5.3 使用固定 TCP 地址远程访问

接下来保留一个固定 TCP 地址,点击左侧的预留,找到保留的 TCP 地址,为远程服务器连接保留一个固定的地址:

  • 地区:选择 China VIP
  • 描述:即备注,可自定义,本例使用 red123

点击 保留。

地址保留成功后,复制生成的公网地址,打开 Web UI 管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我们刚才创建的随机公网地址隧道 redis,点击 编辑。

修改隧道信息,将刚才保留成功的固定 TCP 地址配置到隧道中:

  • 端口类型:选择固定 TCP 端口
  • 预留的 TCP 地址:复制粘贴官网保留成功的地址,本例中为:1.tcp.vip.cpolar.cn:23876

点击 更新。

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新为了 固定 TCP 地址。

接下来与之前的操作一样,可以在其他电脑(异地)上,使用这个固定的 TCP 地址访问 Redis 即可。

IP 地址位置填写:1.tcp.vip.cpolar.cn,端口号填写:23876,点击链接测试。

可以看到,使用固定的 TCP 地址成功远程连接了本地 Redis!使用内网穿透工具无需购买域名服务器,也不用设置路由器那么麻烦,轻松实现大家在公网远程访问本地服务的需求!

Redis 搭配 Docker 提升部署效率,再加上内网穿透工具的远程访问能力,让缓存管理在分布式环境中更灵活,适合各类需要高效数据处理的场景。

目录

  1. 概述
  2. 1. 安装 Docker 步骤
  3. Add Docker's official GPG key:
  4. Add the repository to Apt sources:
  5. 2. 使用 Docker 拉取 Redis 镜像
  6. 3. 启动 Redis 容器
  7. 任何 ip 可以访问
  8. 守护进程
  9. 不启用保护模式
  10. 指定 redis 运行的端口
  11. 持久化文件名称
  12. 持久化文件存储路径
  13. 持久化策略,10 秒内有个 1 个 key 改动,执行快照
  14. rdbcompression yes
  15. rdbchecksum yes
  16. appendonly yes
  17. appendfilename "appendonly.aof"
  18. appendfsync everysec
  19. no-appendfsync-on-rewrite no
  20. auto-aof-rewrite-percentage 100
  21. auto-aof-rewrite-min-size 64mb
  22. aof-load-truncated yes
  23. 4. 本地连接测试
  24. 4.1 安装 Redis 图形化界面工具
  25. 4.2 使用 RDM 连接测试
  26. 5. 公网远程访问本地 Redis
  27. 5.1 内网穿透工具安装
  28. 5.2 创建远程连接公网地址
  29. 5.3 使用固定 TCP 地址远程访问

更多推荐文章

查看全部
  • 整洁架构:构建可维护的 Python 项目分层指南
  • DeepSeek-R1-Distill-Llama-8B Python 爬虫实战:数据采集与清洗
  • Docker+K8s 微服务部署与运维实战指南
  • ClawdBot 本地部署:零配置 Telegram AI 翻译机器人
  • 解决 Docker 报错 client version 1.24 过旧及 API 版本不兼容问题
  • Docker 镜像国内拉取加速方案:使用渡渡鸟镜像站
  • C++ 就业导向的系统学习路径指南
  • 自然语言处理在金融领域的应用与实战
  • C++ 线程安全消息处理核心:四行代码实现并发机制
  • GitHub Copilot 使用指南与功能解析
  • AI 产品经理核心能力:技术模型与三大知识体系
  • GraphRAG 全栈技术最新进展:全面解析与应用
  • 微信接入 OpenClaw 插件,支持 AI 智能体管理
  • JDK 1.8 Windows 安装包下载及安装步骤
  • 大型语言模型(LLM)微调技术全面总结
  • 2024 国内最新完整 AI 大模型清单及介绍
  • Spring Boot + Leaflet 构建省级旅游口号 WebGIS 可视化平台
  • OpenClaw 单实例配置多 Agent、多 QQ 及飞书机器人
  • 基于 Leaflet 和天地图的免费运动场所 WebGIS 可视化 - 以长沙市为例
  • JDK 8 Windows 安装及环境变量配置指南

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online