博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DOCKER简明教程 : 通过容器连接REDIS数据库
阅读量:5745 次
发布时间:2019-06-18

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

序言

  本文重点讲解了如何通过Redis的官方镜像和Docker容器来搭建redis-cli,并将其连接到Redis镜像。首先要跟大家简单介绍一下Redis,这是一个键值存储系统,除了对场景进行缓存之外,Redis还提供了很多强大的功能,因此也目前是非常受欢迎的一个数据库。


Docker镜像仓库简介

  大家可以在Docker Hub里搜索到目前所有的主流应用和服务的镜像,像Python语言、MySQL数据库等等镜像在Docker Hub里面都有。而且Docker Hub里面的镜像数量非常多,不管我们搜什么关键词,都能搜出来一大堆结果。之所以会这样,是因为Docker官方镜像仓库的宗旨就是将已知来源、满足一定质量标准的Docker镜像组织在一起提供给用户。一般情况下,我建议大家都尽量使用Docker Hub提供的官方镜像,大家可以在查询结果列表中看到当前分类下有哪些官方镜像,一般官方镜像都会在列表中置顶显示,而且会有标有“官方”字样。

  从官方镜像仓库pull镜像的时候,用户名的部分可以为空,也可以设置为library,比如说拉取 Casandra镜像的时候就可以设置成从Apache Cassandra项目获取。大家也可以在自己的终端上运行下面的命令,在Docker Hub中查找Cassandra镜像:

$docker search Cassandra 

  通过这种方式对Docker Hub进行查询的时候,系统会返回一条消息,提示用户“你所拉取的镜像已通过验证”,看到这条信息就表示镜像的校验码通过了Docker daemon的验证,来源是可靠的。


快速实现Docker到Redis的连接

  闲话少说,我们下面就进入实战教程。首先运行下面命令,从Docker Hub拉取Redis镜像:

$ docker pull redis 

  运行上面的命令下载镜像,Docker daemon会自动输出该Redis镜像的来源信息、下载状态,下载完成之后系统也会显示最终状态信息。

  镜像拉取完成之后,大家可以用下面的命令启动Redis容器,记得要带上“-d”参数:

  $ docker run --name myredis-itsmine -d redis 

  “-d”参数的作用是让Redis在后台运行,因为本例中采用这种后台运行的方式较为合适,所以这里我们写上了这个参数。如果不带 “-d”参数的话处理起来就要麻烦一些,这种情况下我们需要先停止终端的运行或者退出容器,然后才能通过宿主机来访问Redis。

  下面我们要进行最重要的一步操作,连接Redis。由于我们并没有实际的需要连接到Redis的应用,所以这里我们用了redis-cli工具。大家可以在宿主机上安装redis-cli,不过我建议大家新建一个容器,将redis-cli运行在里面,然后用下面的命令把这两个容器连接起来,这样我们就可以看到详细的应用信息:

  $docker run --rm -it --link myredis-itsmine:redis redis /bin/bash 

  运行该命令之后我们就可以在bash命令行下面看到容器的提示信息了:


root@f75bacab2715:/data#

$ docker run --rm -it --link myredis:redis redis /bin/bash

$ root@af47015c4a76:/data# redis-cli -h redis -p 6379

$ redis:6379> ping

$ PONG

$ redis:6379> set "Abc" 123

$ OK

$ redis:6379> get "Abc"

$ "123"

$ redis:6379> exit

root@af47015c4a76:/data# exit

$ exit


  在上面的命令中,docker run命令后面跟的“–link myredis-itsmine:redis” 参数用于创建连接,Docker收到该指令后,就会尝试将我们新建的容器连接到当前的“myredis-itsmine” 容器,同时会将新容器中的redis-cli命名为“redis”。Docker会在容器中的/etc/hosts路径下为“redis”创建一个入口,并指向“myredis-itsmine”容器的IP地址。这样我们就可以在redis-cli中直接使用“redis”作为主机名,这种做法是很方便的,我们不必再去找其他办法来“发现”Redis的IP地址,然后加以引用了。

  接下来我们就可以通过set和put命令来执行Redis的存取操作了,这里我们可以用一些示例数据来做个试验。当然,在开始存取操作之前,大家还要再运行一下Redis的ping命令,验证一下Redis服务器是否已经连接上了。

  本文讲述了如何通过容器来实现Redis数据库的连接,看到这里,大家是否已经对容器的网络连接有个初步的概念了?新版的Docker在网络功能方面也做出了一定的改进,相信在不久的将来,所有用户都可以很方便地通过Docker容器实现应用和服务的互连。

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

你可能感兴趣的文章
你看得懂的海明码校验和纠错原理(一)
查看>>
分享Silverlight/Windows8/WPF/WP7/HTML5周学习导读(6月4日-6月10日)
查看>>
【VMCloud云平台】SCVMM配置(三)创建第一台虚拟机
查看>>
摆脱技术思维,转向产品思维——寻找“万能”IDC的苦恼
查看>>
3年了,才这点工资,打死我都不相信
查看>>
Windows Server 2012 R2 Hyper-V在线调整虚拟硬盘的大小
查看>>
PHP 开发社区微信服务号实战图解
查看>>
Envisioneer家装设计软件测评
查看>>
百度知道截流:自答、留Q、微信,别人不说的,这里都有?
查看>>
window.location对象使用说明
查看>>
纯前端表格控件SpreadJS V11.2新版本发布,全面支持React和Vue
查看>>
怀念中国雅虎:技术文化和惨淡命运,互联网营销
查看>>
程序员需要具备的基本技能
查看>>
在SharePoint 2010上使用SharePoint Permission Extension
查看>>
Mysql中文乱码问题完美解决方案
查看>>
分享免费的图形设计软件以及超棒的作品集展示
查看>>
动态库之间单例模式出现多个实例(Linux)
查看>>
需求诱导检查表(Requirment Elicitation Questionaire)
查看>>
javascript常用函数集(常规函数、数组函数、日期函数、数学函数、字符串函数)...
查看>>
How to write a UTF-8 file with Java? - Stack Overflow
查看>>