当前位置:首页 > 编程语言 > 正文内容

如何以及为什么在Docker中运行Redis?

a811625533年前 (2023-05-04)编程语言20

是一个高可用的内存数据库。它的磁盘持久性键值数据存储是多种高可用性用途的理想选择。

另一方面,是一个用于容器化应用程序和服务的工具,隔离它们的环境,并允许它们单独运行。你可以把Docker作为应用程序和服务的包管理器,其中包含所有必要的依赖关系、配置、脚本等。一个被称为Dockerfile的脚本被放置在Docker容器内,允许你将容器作为一个实体进行部署。

这篇文章教你如何有效地使用这两种开源技术。它还涉及到为什么在Docker容器内运行Redis集群是至关重要的,以及与在虚拟机或裸机服务器上运行Redis集群相比,这样做的优势和好处。

Redis的各种用途

Redis有。它更受欢迎的用途包括:

  • 分布式、键值数据库缓存
  • 消息 ***
  • 持久性对象缓存服务器

另外,Redis可以支持多种数据类型和结构,使它适合作为应用程序的主要和次要数据库层使用。它还支持列表、流、散列、 *** 等。

然而,你可以通过容器化进一步推动Redis的优势。

Redis在容器中的更佳表现

Redis是Docker注册表中更受欢迎的Docker镜像之一,下载量。将Redis应用容器化的原因是为了获得Docker的好处和社区对最常见的Redis用例的支持。

Redis Docker镜像有一个开源社区,创建并维护清晰的文档。而且最重要的是,Docker是高度可靠的,并能实现简单的使用和灵活性。

易用性

Docker隔离了在容器内运行的应用程序和服务的环境。隔离意味着你可以打包、构建和运送Redis镜像,无论主机操作系统如何,这使得在Docker内开发和运行Redis应用程序变得容易。此外,Docker Desktop简化了建立一个一致的本地开发环境,这对大型团队特别有用。

安全性

你可以在容器内用Redis扫描安全漏洞。Docker使用,这是一个对的安全性提供可见性的工具。它扫描Docker容器,并在镜像损坏的情况下提供细节和补救措施。Docker还可以生成一个软件材料清单(SBOM),用于扫描构建容器镜像时使用的所有依赖关系,尽管它仍处于试验阶段。

灵活性

Docker可用于大多数基于Unix和Windows的操作系统和应用程序。由于你使用容器将软件与环境隔离,以确保它能与所有系统、Redis应用程序和服务一起运行,尽管有基础设施。

可靠性

Docker允许你在任何环境中可靠地运行任何容器化工作负载。Redis在Docker中是可靠的,因为Docker容器会定期对容器镜像进行快照,允许你在的情况下恢复到这些快照。你也可以通过在容器内挂载一个包含Redis数据库文件的目录来创建一个Docker卷。

Docker卷有助于保持容器的安全,避免任何形式的意外数据丢失。然而,需要注意的是,Docker卷并不包括镜像快照。你必须定期手动保存或备份Redis数据库文件中的数据。

如何在Docker中使用Redis

要把你的Redis存储放在Docker容器里,你必须在目标环境里有Docker。下面的说明告诉你如何在Windows上安装Docker。

你可以按照上的指南来安装Unix或基于Unix的操作系统。安装和配置后,你可以在Docker容器内创建一个 *** 。然后你可以安装Redis并创建一个数据库。最后,你可以对你的Redis数据库进行操作。

首先,在你的操作系统上安装Docker。可以选择导航到并创建一个账户。你需要一个账户来创建和发布你的镜像。

Docker Hub

创建账户后,登录Docker Hub并下载你的操作系统的最新版本的Docker Desktop。

Docker下载页面

安装程序完成后,进入你的终端窗口,看看Docker引擎是否准备好了,然后输入以下命令:

docker --version

已安装的Docker版本

然后输入:docker-compose --version.

与Docker一起安装的Compose

Compose是一个使用YAML文件定义和运行多容器Docker应用程序的工具,你用它来配置应用程序服务。

你可以使用下面的代码运行一个Docker化的Redis来验证Docker引擎是否启动和运行。这个例子从Docker Hub运行Redis镜像,并命名为my-redis-container

docker run --name my-redis-container -d redis

来自Docker Hub的Redis镜像被命名为my-redis-container

因为你没有本地的镜像,所以Docker从Docker Hub中提取Redis镜像。

现在,你可以打开Docker桌面,确认它拉取了Redis镜像。在仪表板上,点击左侧面板上的Images

Docker Desktop

现在,你可以创建一个 *** 。注意,Docker驱动使用桥接或覆盖的内置 *** 驱动来创建Docker *** 。你也可以安装和使用第三方的 *** 驱动。

不同的是,桥接 *** 在单个Docker引擎安装上是隔离的,而覆盖 *** 跨越多个Docker主机,每个主机运行一个引擎。

类型:

docker network create -d bridge kinsta-demo-network

使用桥接驱动的Docker ***

如果你默认没有指定任何驱动,Docker会使用桥接驱动来创建一个新的 *** ,因为它在你安装Docker引擎时自动创建桥接驱动。然而,如果你用Docker运行命令运行一个Docker容器,它就不会使用这个 *** 。

现在你有了一个 *** ,接下来就是在Docker容器内安装Redis。要做到这一点,输入: docker pull redis

从Docker Hub拉取Redis镜像

为了验证Redis镜像的安装是否正确,请运行以下命令之一:

docker images
docker image ls

用户终端中的可用Docker镜像

接下来,你创建并启动Redis容器。要做到这一点,请运行以下命令:

docker run -it –name dev_kinsta_redis_container -d redis

Docker conatainer

现在验证Redis是否在容器中运行。要做到这一点,输入: docker ps

验证Redis是否在容器中启动和运行

现在你已经确认你的Docker容器已经启动并运行,你可以将容器添加到 *** 中。输入: docker network connect

将一个Docker容器添加到创建的docker *** 中

一切都按预期进行,下一步是验证你在Docker内运行的Redis服务器是否准备好接受连接。要做到这一点,请使用 docker logs

验证Redis镜像是否在Docker容器内运行

接下来,你必须创建一个数据库,因为你需要一种 *** 来连接到Redis容器,以便在服务器上运行命令。要做到这一点,输入:docker exec -it bash。你可以交替使用容器名称和容器ID。

连接到Redis容器实例

在容器中,使用CLI来运行命令。注意,Redis会自动安装Docker主机。要使用Redis-CLI,请输入: redis-cli

使用Redis CLI来运行Redis命令

这样就可以连接到本地主机上的Redis的默认端口。输入: ping , 响应应该是 pong

测试Redis连接是否已启动并运行

接下来,通过输入 select 来选择你的Redis服务器内的数据库。虽然默认的数据库是 0 ,但选择 db 1

选择一个特定的Redis数据库

接下来,向数据库插入数据。使用 Redis SET 命令。要这样做,键入 SET <key> <value>

例如:

SET mykey "Hello"

要获得相同的键,键入

get myKey

从Redis插入和取回数据

要获得键的值,运行 get 。这将返回该值。接下来,通过输入 MONITOR 来监控你的 Redis 数据库。

监控 Redis 数据库

最后,通过退出CLI来停止Redis服务器。输入 exit 两次以退出CLI和Redis。

从 Redis CLI 中退出

最后,通过输入 docker stop 来停止Redis容器的运行。

执行命令,停止Docker容器的运行。

小结

在Docker容器中运行Redis有很多好处。它为你的应用程序提供了一个沙盒环境,所以你不必再关心你部署应用程序的平台。此外,Docker实现了易用性、灵活性和高可靠性。

关于安全性,你可以用Synk检查和扫描安全漏洞,Synk是一个对Docker镜像的安全性提供可见性的工具。而关于灵活性,Docker适用于大多数基于Unix和Windows的操作系统和应用程序。这种灵活性意味着,无论操作系统如何,docker化或容器化的应用程序或服务总是在运行。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/8000.html

分享给朋友:

“如何以及为什么在Docker中运行Redis?” 的相关文章

宝塔面板教程之网站管理篇

宝塔面板教程之网站管理篇

宝塔面板中的网站管理是非常重要的一部分,也是站长经常需要使用到的功能模块。网站管理,主要用于管理和创建WEB站点。如果您是宝塔面板的使用用户,应该对此模块有充分的了解,以便于您更高效地管理网站。 宝塔面板网站管理模块包括:添加新网站、修改默认页、设置默认站点、站点列表、站点的运行与停止、备份站点、...

宝塔面板教程之监控管理篇

宝塔面板教程之监控管理篇

宝塔面板另外一个特质是,你无需通过Linux命令行来查看服务器各项指标状况,即可以阿里云服务器类似的可视化图表,查看资源使用、负载、CPU占用及内容使用百分比等指标。 默认监控是关闭,有需要的,可以开启,监控数据默认保存30天,可以自行修改,默认监控数据保存在日志,可手动清理该日志。 监控管理,...

宝塔面板教程之文件管理篇

宝塔面板教程之文件管理篇

宝塔面板其中一个最为便捷的功能之一,无需SFTP或者FTP即可对服务器的文件内容进行上传、下载、编辑及删除等管理操作。 文件管理,用于管理该服务器上的文件内容。 文件的基础操作 文件的基础操作有哪些了,主要有这些方面:复制、粘贴、剪切、删除、重命名、压缩、刷新、新建文件、新建目录。...

15种最佳编程字体以帮助您更愉悦地敲代码

15种最佳编程字体以帮助您更愉悦地敲代码

经过几个小时的努力工作后,您是否感到眼睛疲劳或难以阅读代码?许多程序员在开始头疼之前从没想过要切换字体。 如果您经常发现在尝试扫描一千行代码时眼睛模糊不清,或者在停止编码数小时后头疼,那么可能是时候尝试一种新字体了。即使您没有遇到这些症状,设计良好的字体通常也比默认系统字体具有更好的可读性。...

2022年Web开发人员的平均工资统计报告

2022年Web开发人员的平均工资统计报告

想成为一名网络开发人员或好奇工作的哪些子类型的薪水最高?Web开发是一个竞争激烈、多样化的行业,随着新语言和框架的出现而不断发展。 询问Web开发人员的薪水是一个难以解决的问题(尽管我们尝试)。有太多的因素需要考虑。 无论您是自由开发者还是有兴趣从事更传统的工作、喜欢前端或后端工作,或者想知...

揭开Laravel面纱:用于构建Web应用程序的跨平台PHP框架

揭开Laravel面纱:用于构建Web应用程序的跨平台PHP框架

近年来,Web应用程序和网站的开发变得越来越简单。即使是我们当中最受技术挑战的人也已经相当熟练地使用WordPress和Wix等产品。 对于更高级的开发人员,有许多工具可以帮助简化开发过程。这些工具中最有用的工具之一是Laravel。 本文回答了“什么是Laravel?”这个问题。通过将其分...