Docker 中安装 Redis 并开启远程访问

news2025/1/19 20:35:04

在 Docker 中安装 Redis 并开启远程访问,以便本机可以连接的详细步骤:

一、拉取 Redis 镜像

首先,你需要从 Docker Hub 拉取 Redis 的镜像。使用以下命令:
bash

docker pull redis:latest

这将拉取最新版本的 Redis 镜像。如果你想使用特定版本的 Redis,可以将 latest 替换为具体的版本号,例如 redis:6.2.6。

二、运行 Redis 容器

运行 Redis 容器并进行必要的配置,以允许远程访问。使用以下命令:
bash

docker run -d --name redis-container -p 6379:6379 redis:latest redis-server --requirepass your_password --protected-mode no

解释:
docker run -d:以守护进程模式运行容器。
–name redis-container:为容器命名为 redis-container,你可以根据自己的喜好更改名称。
-p 6379:6379:将容器内的 6379 端口(Redis 默认端口)映射到主机的 6379 端口,以便通过主机的 6379 端口访问容器内的 Redis 服务。
redis-server --requirepass your_password --protected-mode no:
redis-server:启动 Redis 服务器。
–requirepass your_password:设置 Redis 的访问密码,将 your_password 替换为你想要设置的密码,这是出于安全考虑,防止未经授权的访问。
–protected-mode no:关闭保护模式,这是为了允许远程访问。但需要注意,关闭保护模式会带来一定的安全风险,建议仅在受信任的网络环境中进行。

三、测试远程连接

在本机上,你可以使用 Redis 客户端工具进行连接测试:

  1. 使用命令行工具 redis-cli
    你可以使用 redis-cli 命令行工具进行连接测试。首先,确保你已经安装了 redis-cli,如果没有安装,可以通过包管理器进行安装(例如,在 Ubuntu 上使用 sudo apt-get install redis-tools)。
    然后,使用以下命令连接到 Redis 服务:
    bash
redis-cli -h localhost -p 6379 -a your_password

-h localhost:指定主机地址为 localhost(因为是在本机测试)。
-p 6379:指定端口为 6379。
-a your_password:使用之前设置的密码进行连接。


四、安全考虑
开启远程访问(关闭 protected-mode)会带来一定的安全风险,确保你的网络环境是受信任的,或者采取其他安全措施,例如使用 Docker 的网络隔离功能,将 Redis 容器放在一个自定义的网络中,只允许特定的主机或服务访问。
尽量避免在生产环境中使用 --protected-mode no,如果确实需要远程访问,建议使用 Docker 的网络安全功能,如创建用户自定义网络并设置网络访问策略。
五、使用 Docker 网络进行安全隔离(可选)
你可以创建一个 Docker 网络,将 Redis 容器放入该网络,并仅允许特定的容器或主机访问。以下是一个示例:

  1. 创建网络
    bash
docker network create redis-network
  1. 运行 Redis 容器在新创建的网络中
    bash
docker run -d --name redis-container --net redis-network -p 6379:6379 redis:latest redis-server --requirepass your_password
  1. 运行其他容器(如果需要)并加入该网络
    bash
docker run -d --name app-container --net redis-network your_app_image

这样,redis-container 和 app-container 就在同一个网络中,可以相互访问,而外部网络(除了映射的 6379 端口)无法直接访问 Redis 容器,提供了一定的安全隔离。
通过上述步骤,你可以在 Docker 中安装 Redis 并开启远程访问,同时可以根据需要进行安全方面的考虑和配置,确保你的 Redis 服务既可以正常使用,又能保证一定的安全性。请根据你的实际情况进行调整,特别是在安全方面要格外注意,避免因为开放远程访问而导致安全问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2279053.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥杯备考:堆和priority queue(优先级队列)

堆的定义 heap堆是一种特殊的完全二叉树,对于树中的每个结点,如果该结点的权值大于等于孩子结点的权值,就称它为大根堆,小于等于就叫小根堆,如果是大根堆,每个子树也是符合大根堆的特征的,如果是…

力扣682

from typing import Listclass Solution:def calPoints(self, operations: List[str]) -> int:a [] # 用于存储有效得分的列表for op in operations:if op.isdigit() or (op[0] - and op[1:].isdigit()): # 如果是整数(包括负数)a.append(int(op)…

考研计算机组成原理——零基础学习的笔记

第一章 研究计算机硬件的学科。 1.计算机系统概述 计算机系统硬件软件(系统软件:比如操作系统、数据库管理系统、标准程序库等,应用软件:QQ等) 1.2计算机的层次结构 1.2.1计算机硬件的基本组成 冯诺伊曼计算机&a…

海康工业相机的应用部署不是简简单单!?

作者:SkyXZ CSDN:SkyXZ~-CSDN博客 博客园:SkyXZ - 博客园 笔者使用的设备及环境:WSL2-Ubuntu22.04MV-CS016-10UC 不会吧?不会吧?不会还有人拿到海康工业相机还是一脸懵叭?不会还有人…

计算机网络 (49)网络安全问题概述

前言 计算机网络安全问题是一个复杂且多维的领域,它涉及到网络系统的硬件、软件以及数据的安全保护,确保这些元素不因偶然的或恶意的原因而遭到破坏、更改或泄露。 一、计算机网络安全的定义 计算机网络安全是指利用网络管理控制和技术措施,保…

STM32 FreeRTOS中断管理

目录 FreeRTOS的中断管理 1、STM32中断优先级管理 2、FreeRTOS任务优先级管理 3、寄存器和内存映射寄存器 4、BASEPRI寄存器 5、FreeRTOS与STM32中断管理结合使用 vPortRaiseBASEPRI vPortSetBASEPRI 6、FromISR后缀 7、在中断服务函数中调用FreeRTOS的API函数需注意 F…

操作系统 期末重点复习

操作系统 期末重点复习 必会 课后题摘要 第二章: 在操作系统中为什么要引入进程概念?它会产生什么样的影响? 为了使程序在多道程序环境下能并发执行,并对并发执行的程序加以控制和描述,在操作系统中引入了进程概念。影响: 使程…

7.5.4 MVCC优化测试

作者: h5n1 原文来源: https://tidb.net/blog/4e02d900 1. 背景 由于MVCC 版本数量过多导致rocksdb扫描key数量过多影响SQL执行时间是tidb经常出现问的问题,tidb也一直在致力于优化该问题。 一些优化方式包括比: (1) 从传统…

2024年AI与大数据技术趋势洞察:跨领域创新与社会变革

目录 引言 技术洞察 1. 大模型技术的创新与开源推动 2. AI Agent 智能体平台技术 3. 多模态技术的兴起:跨领域应用的新风口 4. 强化学习与推荐系统:智能化决策的底层驱动 5. 开源工具与平台的快速发展:赋能技术创新 6. 技术安全与伦理:AI技术的双刃剑 7. 跨领域技…

vulnhub靶场【Lampiao靶机】,主要考察提权,脏牛提权

前言 靶机:lampiao,IP地址为192.168.10.11 攻击:kali,IP地址为192.168.10.2 都采用虚拟机,网卡为桥接模式 该靶机目前只剩下一个了,之前记得是有两台构成系列的。 文章中涉及的靶机,来源于v…

ASP .NET Core 学习(.NET9)配置接口访问路由

新创建的 ASP .NET Core Web API项目中Controller进行请求时,是在地址:端口/Controller名称进行访问的,这个时候Controller的默认路由配置如下 访问接口时,是通过请求方法(GET、Post、Put、Delete)进行接口区分的&…

构建core模块

文章目录 1.环境搭建1.sunrays-common下新建core模块2.引入依赖,并设置打包常规配置 2.测试使用1.启动!1.创建模块2.引入依赖3.application.yml 配置MySQL和Minio4.创建启动类5.启动测试 2.common-web-starter1.目录2.WebController.java3.结果 3.common…

VRTK4 记录抓取错误

左手原本可以正常抓取,但是当右手拿起一个物体时,左手抓取右手的线性驱动器,只有部分区域可以抓取 原因是左手的判定物体的层级错误 应该在Collections下,之前错误的和Collections同一层级,导致抓取有时可以有时不可以…

游戏画质升级史的思考

画质代入感大众玩家对游戏的第一印象与评判标准 大众玩家还没到靠游戏性等内在因素来评判游戏的程度。 画面的重要性,任何时候都不能轻视。 行业就是靠摩尔定律来推动进步的。 NS2机能达到PS4到PS4PRO之间的水准,5050达到8G显存,都会引发连…

Windows11电脑总是一闪一闪的,黑一下亮一些怎么解决

Windows11电脑总是一闪一闪的,黑一下亮一些怎么解决 1. 打开设备管理器2. 点击显示适配器3. 更新下方两个选项的驱动3.1 更新驱动Inter(R) UHD Graphixs3.2 更新驱动NVIDIA GeForce RTX 4060 Laptop GPU 4. 其他文章快来试试吧🥰 1. 打开设备管理器 在电…

【RAG落地利器】向量数据库Qdrant使用教程

TrustRAG项目地址🌟:https://github.com/gomate-community/TrustRAG 可配置的模块化RAG框架 环境依赖 本教程基于docker安装Qdrant数据库,在此之前请先安装docker. Docker - The easiest way to use Qdrant is to run a pre-built Docker i…

【逆境中绽放:万字回顾2024我在挑战中突破自我】

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​💫个人格言:“没有罗马,那就自己创造罗马~” 文章目录 一、引言二、个人成长与盘点情感与心理成长学习与技能提升其它荣誉 三、年度创作历程回顾创作内容概…

HTTP / 2

序言 在之前的文章中我们介绍过了 HTTP/1.1 协议,现在再来认识一下迭代版本 2。了解比起 1.1 版本,后面的版本改进在哪里,特点在哪里?话不多说,开始吧⭐️! 一、 HTTP / 1.1 存在的问题 很多时候新的版本的…

于灵动的变量变幻间:函数与计算逻辑的浪漫交织(下)

大家好啊,我是小象٩(๑ω๑)۶ 我的博客:Xiao Xiangζั͡ޓއއ 很高兴见到大家,希望能够和大家一起交流学习,共同进步。 这一节我们主要来学习单个函数的声明与定义,static和extern… 这里写目录标题 一、单个函数…

pthread_create函数

函数原型 pthread_create 是 POSIX 线程&#xff08;pthread&#xff09;库中的一个函数&#xff0c;用于在程序中创建一个新线程。 #include <pthread.h>int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *a…