我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Redis快速部署为Docker容器的实现方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Redis快速部署为Docker容器的实现方法

Redis是一种内存键值存储,可以保存高性能的抽象数据结构。开源软件通常用于数据库、消息传递和缓存功能。

Docker 是将应用程序打包到容器中的领先工具包。它允许您将软件组件隔离到具有自己的文件系统的独立环境中。

在本指南中,我们将使用 Docker 使用Docker Hub 上的官方镜像快速部署 Redis 。与裸机安装相比,Docker 实现了更简单的设置过程,并且不会用新包污染您的主机。在继续之前,请确保您的主机上安装了正常运行的 Docker。

入门

Redis 镜像包括服务器组件和官方 CLI。它已预先配置为在您启动新容器时使用运行的默认配置值启动服务器。

映像的变体可用于覆盖不同的 Redis 版本(5.0 和 6.0)和操作系统(Alpine 和 Debian)。浏览标签列表以找到适合您环境的最佳选项。

最简单的部署如下:


docker run --name redis -d -p 6379:6379 redis:6.0

这将启动一个名为redisrunning Redis 6.0的新容器。该-d标志用于从容器中分离。服务器将一直在后台运行,直到您使用docker stop redis.

Redis 默认监听 6379 端口。该-p标志将此端口绑定到您的主机。您的应用程序将能够访问 Redis localhost:6379。请注意,这是不安全的——如果您的机器暴露在互联网上,任何人都可以访问您的 Redis 数据!

数据存储

Redis 支持多种持久性机制,可以将您的内存数据库保存到磁盘。数据将保存到/data容器中的目录中。由于 Docker 容器是临时的,您需要将卷挂载到此目录。否则,当您的容器停止时,您的数据将丢失。


docker run --name redis -d \
    -v redis-data:/data
    redis:6.0 --save 60 1

该–save标志被传递到 Redis 服务器。它配置要使用的持久性策略。此示例每秒钟写入一次数据库快照60。除非1自上次快照后发生数据库写入,否则将跳过该操作。

一个被调用的 Docker 卷redis-data由该-v标志创建。这会将您的数据存储在容器外,以便在重新启动后仍可访问。该卷将一直存在,直到通过运行将其删除docker volumes rm redis-data。

配置您的服务器

添加配置参数的最快方法是将 CLI 参数作为docker run命令的一部分传递给 Redis 服务器。–save上面的例子说明了这一点。图像名称 in 之后的任何内容docker run都将传递给在容器内执行的命令。对于 Redis 映像,该命令是 Redis 服务器。

使用 CLI 标志很快就会变得重复。您可以通过将路径作为服务器的第一个参数传递来使 Redis使用配置文件。该文件通常位于/usr/local/etc/redis/redis.conf. 使用 Docker 绑定安装redis.conf从安装到容器的本地文件系统获取:


docker run --name redis -d \
    -v redis-data:/data
    -v ./redis-conf:/usr/local/etc/redis
    redis:6.0 /usr/local/etc/redis.conf

在您的工作目录中放置一个redis.confinside redis-conf。Docker 会将此路径挂载到容器中,让 Redis 可以访问docker run命令中指定的文件。

管理Redis安全

默认情况下,Redis Docker 映像配置为在不受保护的模式下运行 Redis。这使得使用 Docker 网络从其他 Docker 容器访问 Redis 服务器变得更加容易。但是,这也意味着可以到达您的容器的任何东西都可以完全访问您的数据。

保护模式是Redis 的一项功能,它仅响应从主机的环回地址发出的未经身份验证的查询,例如localhost. 您可以通过添加protected-mode yes到您的redis.conf. 当与 Dockerized 安装一起使用时,这将导致 Redis 只能在其自己的容器内访问,这通常并不理想。

您可以通过添加requirepass example到您的redis.conf. Redis 将只接受来自提供配置密码的客户端的查询。Redis 6 还支持功能更齐全的访问控制,让您可以设置具有不同权限的多个用户帐户。

要使用身份验证,请按照上一节中的指导创建 Redis 配置文件并将其挂载到您的容器中。如果您不想设置密码,只需将其加入应用程序所需的 Docker 网络,即可确保您的安装安全。不要在没有先设置身份验证的情况下将端口 6379 绑定到您的主机。

使用您的 Redis 安装

现在 Redis 已完全设置,您可以继续从客户端访问它。如果您从主机连接,则可以使用 Docker 容器的 IP(通过运行可见docker inspect redis,根据容器名称进行调整)和端口6379。

要从另一个 Docker 容器访问 Redis,最好将两个容器都加入一个 Docker 网络:


docker network create redis
docker run --name redis --network redis -d redis:6.0
docker run --name api --network redis -d my-api:latest

现在,您的应用程序容器将能够通过redis主机名上的端口 6379 访问 Redis 。当它们共享一个 Docker 网络时,Docker 使容器名称可以作为主机名访问。

在这里插入图片描述

您可以使用redis-cli容器映像中包含的二进制文件手动与数据库交互。以分离模式 ( -d)启动您的容器,使其在后台运行。然后使用docker exec运行redis-cli命令:


docker exec -it redis-container redis-cli

这将使您进入容器内的 Redis CLI 会话。

概括

Docker 可以让您快速轻松地启动新的 Redis 实例,而无需将软件安装到您的机器上。使用官方 Docker 镜像启动你的容器,然后添加命令标志或挂载一个配置文件以满足你的需要。

需要始终牢记的两件事是存储和安全性:如果您需要使用 Redis 持久性功能,则应该使用 Docker 卷以避免丢失数据。请记住,Dockerized Redis 默认为无保护模式且无需身份验证,因此在最坏的情况下,暴露 6379 端口可能会产生灾难性的后果。

到此这篇关于Redis快速部署为Docker容器的实现方法的文章就介绍到这了,更多相关Redis部署为Docker容器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Redis快速部署为Docker容器的实现方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Redis快速部署为Docker容器的实现方法是什么

Redis快速部署为Docker容器的实现方法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Redis是一种内存键值存储,可以保存高性能的抽象数据结构。开源软件通常用
2023-06-22

docker快速部署zabbix的方法

zabbix标准组件是分布式的,因此部署过程中需要创建多个容器,本文主要介绍了docker快速部署zabbix的方法,具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2023-01-06

CentOS 6.5平台实现快速部署FTP的方法

本文实例讲述了CentOS 6.5平台实现快速部署FTP的方法。分享给大家供大家参考,具体如下: 安装vsftpd(这里需要使用YUM,YUM的安装可参考前面一篇 CentOS 6.5平台本
2022-06-04

IDEA 集成 docker 实现远程部署的方法

这篇文章主要介绍“IDEA 集成 docker 实现远程部署的方法”,在日常操作中,相信很多人在IDEA 集成 docker 实现远程部署的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”IDEA 集成 d
2023-06-20

使用Docker Compose、Nginx和MariaDB实现PHP应用程序的快速部署流程

摘要:本文将介绍如何使用Docker Compose、Nginx和MariaDB实现快速部署PHP应用程序的流程。我们将使用Docker Compose来定义和管理容器化应用程序的配置,Nginx作为Web服务器,MariaDB作为数据库。
2023-10-21

编程热搜

目录