系列教程丨用 Docker 探索开源软件 —— Redis

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: Docker 的一大优点是可以让您快速使用它来试用应用程序,而无需直接在开发人员的计算机上安装它。如果您不想在自己的计算机上安装 Java 或 erlang 等运行时环境,那么您就可以不安装它们,因为容器封装了所有依赖项......

screenshot

出品丨Docker公司(ID:docker-cn)
编译丨小东
每周一、三、五,与您不见不散!


Docker 的一大优点是可以让您快速使用它来试用应用程序,而无需直接在开发人员的计算机上安装它。如果您不想在自己的计算机上安装 Java 或 erlang 等运行时环境,那么您就可以不安装它们,因为容器封装了所有依赖项,并在删除时可以不留下任何痕迹。

接下来,我会持续发布一些简短的教程,展示如何使用 Docker 探索各种开源软件。今天,让我们先从 Redis 开始。本教程的重点是让您熟悉创建容器和在容器中执行自定义命令所需的 Docker 命令,同时希望您可以在学习过程中也能学到一些有关 Redis 的基本知识。


简 介

本教程将介绍如何使用 Docker 探索 Redis。您可以在 Linux 或 Docker for Windows 模式下运行Docker 命令。同时,您也可以用 Play with Docker 来试试。


启动一个运行 Redis 的新容器

在这里,我们给它一个名字 —— “redis1”,同时公开6379端口(Redis 默认值)。

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

检查它是否正在运行

docker ps

查看日志输出

docker logs redis1

在容器中运行 Redis CLI

我们将在运行中的容器中用“-it”启动一个新的交互式会话,并使用它来运行“redis-cli”。我们可以直接运行它,但是现在,让我们用“sh”启动一个 shell:

docker exec -it redis1 sh

现在,我们已经连接到容器了。让我们运行“redis-cli”:

# redis-cli

尝试一些基本的 Redis 命令

如果我们发送“ping”,应该会返回“PONG”:

127.0.0.1:6379> ping
PONG

尝试更多命令(设置一个键并增加一个计数器):

127.0.0.1:6379> set name mark
OK
127.0.0.1:6379> get name
"mark"
127.0.0.1:6379> incr counter
(integer) 1
127.0.0.1:6379> incr counter
(integer) 2
127.0.0.1:6379> get counter
"2"

当我们完成尝试后时,退出“redis-cli”和“sh”:

127.0.0.1:6379> exit
# exit

从另一个关联容器进行连接

现在,让我们启动另一个名为“client1”的容器。我们使用 redis 基础镜像进行构建,但我们只使用它来运行“redis-cli”,所以我们只要求它在交互模式下运行“sh -it”。这意味着它不会自动运行 Redis。我们使用“--rm”命令,因此它会在 shell 退出后自行删除。

我们将它链接到“redis1”容器(运行中),它将在该容器中被简单地称为“redis”。

docker run -it --rm --link redis1:redis --name client1 redis sh

现在在这个容器中,让我们启动“redis-cli”并连接到“redis”:

# redis-cli -h redis
redis:6379>

现在让我们尝试发布一些命令。由于我们没有停止原始的“redis1”容器,我们之前创建的密钥应该仍然存在:

redis:6379> get name
"mark"
redis:6379> get counter
"2"

现在,退出“redis-cli”和“sh”:

redis:6379> exit
# exit

上述操作导致“client1”容器已经被删除了。因此,我们需要查看所有容器,包含已停止的容器:

docker ps -a

我们应该能看到这个单独的 Docker 容器。


清 理

让我们停止“redis1”容器,然后删除它。

docker stop redis1
docker rm redis1

我们还下载了 redis 镜像,我们将在列表中看到它:

docker image ls

它只有 83MB,所以我们可能想要保留它,以便下次运行 Redis 容器时使用,但是如果我们确定不再需要它,我们可以删除该镜像来释放磁盘空间,并让我们回到之前的起点:

docker image rm redis

总 结

如您所见,只需几个基本的 Docker 命令,我们就可以在容器中运行 Redis,甚至可以从另一个容器连接到它。

在下一篇系列文章中,我将向您展示如何在 PostgreSQL 上进行相同操作,这将使我们有机会探索 Docker 卷。

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
29天前
|
机器人 网络安全 数据安全/隐私保护
autMan奥特曼机器人-对接Docker版本NTQQ详细教程
本文介绍了如何在服务器上搭建NTQQ机器人,通过官方NTQQ对接各框架,实现QQ登录的稳定运行。文章提到了需要准备一台服务器和相应的软件,并详细描述了通过SSH链接服务器、创建文件夹和配置文件、编辑配置文件地址端口、运行容器等步骤。同时,文章还介绍了VNC连接的使用和配置,以及使用watchtower进行NTQQ的更新。文章总结起来就是在服务器上搭建NTQQ机器人,实现QQ登录的稳定性和自动登录功能,同时提供了更新和维护的方法。
64 3
autMan奥特曼机器人-对接Docker版本NTQQ详细教程
|
28天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
238 3
|
1月前
|
数据可视化 数据挖掘 Docker
Docker Desktop 安装 ClickHouse 超级简单教程
Docker Desktop 安装 ClickHouse 超级简单教程
50 1
|
1月前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
239 3
|
1月前
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
34 3
|
1月前
|
消息中间件 NoSQL Kafka
Flink-10 Flink Java 3分钟上手 Docker容器化部署 JobManager TaskManager Kafka Redis Dockerfile docker-compose
Flink-10 Flink Java 3分钟上手 Docker容器化部署 JobManager TaskManager Kafka Redis Dockerfile docker-compose
42 4
|
1月前
|
定位技术 文件存储 网络架构
Docker部署PhotoPrism、Immich图片管理应用,无需公网IP远程访问教程
除了Synology、QNAP、TerraMaster等品牌的NAS设备内置图库功能,市面上还有多种备受欢迎的第三方应用,如PhotoPrism、Immich、LibrePhotos、Piwigo、Photoview等。这些应用不仅提供强大的图片管理能力,还可通过Docker轻松部署。借助贝锐花生壳服务,即使没有公网IP也能实现远程访问,突破地理限制,提升数据可访问性和安全性,让用户随时随地管理私人图库。
116 1
|
1月前
|
存储 应用服务中间件 nginx
|
1月前
|
存储 NoSQL Unix
Redis 教程
10月更文挑战第13天
31 0
|
1月前
|
NoSQL 安全 Redis
AWS迁移教程,Redis迁移到Elasticache
AWS迁移教程,Redis迁移到Elasticache
下一篇
无影云桌面