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

简介: 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 卷。

相关文章
|
3月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
1465 5
|
5月前
|
运维 Devops 持续交付
揭秘 Docker 自动部署神器 Websoft9:热门开源软件一键部署
在企业IT建设中,软件部署常面临效率低、易出错等问题。通过Docker与自动化工具,可实现高效、标准化和可追溯的部署流程,提升企业应用交付效率,降低运维门槛,助力中小企业实现自动化部署。
367 5
揭秘 Docker 自动部署神器 Websoft9:热门开源软件一键部署
|
6月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
3月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
1090 7
|
3月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
579 6
|
3月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
2603 10
|
6月前
|
文件存储 数据安全/隐私保护 开发者
群晖NAS Docker镜像源加速配置教程
本教程介绍了群晖NAS用户如何通过配置轩辕镜像加速服务提升Docker镜像拉取速度。内容包括配置前准备、详细设置步骤及日常使用说明,帮助用户快速完成配置并享受高效稳定的镜像下载体验。
4309 60
|
5月前
|
缓存 Ubuntu Docker
Ubuntu环境下删除Docker镜像与容器、配置静态IP地址教程。
如果遇见问题或者想回滚改动, 可以重启系统.
391 16
|
运维 关系型数据库 MySQL
宝塔面板 Docker 镜像加速教程
本文介绍了如何为宝塔面板中的 Docker 配置轩辕镜像加速。内容包括:安装 Docker 管理器、获取镜像加速地址、配置加速 URL 以及验证设置等步骤。通过使用免费版或专业版加速地址(如 docker.xuanyuan.me 或 xuanyuan.cloud),可显著提升镜像拉取速度。同时,还提供了日常使用方法和注意事项,帮助用户顺利完成配置并保障 Docker 服务稳定运行。
431 0
|
数据格式 Docker 索引
系列教程丨用 Docker 探索开源软件 —— Elasticsearch(二)
今天,我将带来本系列第三篇文章,用 Docker 探索开源软件 —— Elasticsearch,它将给我们一个机会来看看 docker-compose 是如何运用的。
10747 0