博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
系列教程丨用 Docker 探索开源软件 —— Redis
阅读量:7040 次
发布时间:2019-06-28

本文共 1972 字,大约阅读时间需要 6 分钟。

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> pingPONG

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

127.0.0.1:6379> set name markOK127.0.0.1:6379> get name"mark"127.0.0.1:6379> incr counter(integer) 1127.0.0.1:6379> incr counter(integer) 2127.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 redisredis: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 redis1docker rm redis1

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

docker image ls

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

docker image rm redis

总 结

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

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

转载地址:http://crxal.baihongyu.com/

你可能感兴趣的文章
《Spark大数据分析:核心概念、技术及实践》一2.3 一个单独的Scala应用程序
查看>>
Phalcon入门教程之模型
查看>>
K近邻算法-KNN
查看>>
北京这两天为啥颜值爆表?
查看>>
HybridDB · 最佳实践 · HybridDB 数据合并的方法与原理
查看>>
《Unity着色器和屏幕特效开发秘笈(原书第2版)》一2.2 漫反射着色
查看>>
利用Fork/Join框架来统计某个字符串在某个文件夹的文件中出现的次数
查看>>
使用ownCloud在Linux安装你的个人云服务
查看>>
《深入实践Spring Boot》一1.6 小结
查看>>
XTTS,又一个值得你重视的Oracle数据库迁移升级利器
查看>>
error: src refspec master does not match any. error: failed to push some refs to
查看>>
《C语言及程序设计》实践项目——用break和continue改变流程
查看>>
Nodejs进阶:基于express+multer的文件上传
查看>>
利用ROS搭建应用基础套件
查看>>
MySQL · 物理备份 · Percona XtraBackup 备份原理
查看>>
The total number of locks exceeds the lock table size错误(已纠正)
查看>>
Java千百问_05面向对象(005)_接口和抽象类有什么区别
查看>>
c++虚函数表探究
查看>>
java自定义注解
查看>>
Zend的Registry机制
查看>>