DOCKER简明教程 : 通过容器连接REDIS数据库

序言
  本文重点讲解了如何通过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命令行下面看到容器的提示信息了:

[email protected]:/data#
$ docker run --rm -it --link myredis:redis redis /bin/bash
$ [email protected]:/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
[email protected]:/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容器实现应用和服务的互连。

时间: 2024-10-13 08:28:38

DOCKER简明教程 : 通过容器连接REDIS数据库的相关文章

docker简明教程(二)

前言这篇博文承接我的上一篇<docker简明教程一> http://9399369.blog.51cto.com/9389369/1758576 相对于上一篇来说这篇所讲到的知识会高深一点因为学习的过程不就是一步步的由简单到复杂嘛但是我的风格没变用简单的文字让朋友们学习高深的docker技术.如果觉得我写的好的话顶我上推荐希望能让跟多人看到.学习和受益. 二十二.Docker导出容器到本地文件 不管是容器不是处于运行状态都可以导出 首先查看那容器状态 [[email protected] ~]

Docker简明教程(以安装wget程序为例)

本文计划: 一.安装Docker(Centos) 二.注册Docker官网帐号 三.下载基础centos镜像,安装需要的软件和环境后,push到自己的repository 一.安装Docker(Centos) 在https://fedoraproject.org/wiki/EPEL#How_can_I_use_these_extra_packages.3F 中选择自己的epel源. 接着,安装docker-io: $ sudo yum install docker-io 启动Docker dae

学习记录04 --- 使用java连接redis数据库进行操作

现在先简单的尝试下java如何连接上redis数据库 首先我们需要一个jedis.jar架包,我下载的是2.9.0的版本 附上下载地址,点击我下载 开始我们的常规操作,打开idea,导入架包,emmmmm,感觉这次会写的特别简短 先导包 import redis.clients.jedis.Jedis; 我们需要连接redis数据库的话,都是依赖于jedis对象而来的,我们先得new出一个jedis对象 //new一个Jedis对象,连接redis数据库 Jedis jedis = new Je

eclipse写java程序实现连接redis数据库教程

第一步,在windows下载安装配置好redis数据库.这里我就不再概述了.下载jedis-2.4.2.jar,当然最好是下载最新版本的jar包.这个在百度搜索下就出来的.下载后,放在一个文件夹下面,一会会需要到. 第二步.打开eclipse,新建一个java工程.如下图所示: 第三步:在Test这个java工程里面,我们新建一个folder,命名lib,把刚才下载的jedis-2.4.2.jar包放在我们新建的lib的包下面,如下图所示: 第四步,在eclipse中,选中jar包,build

Python教程:ORM连接Sqlite数据库,软件架构基础

python语言因其语法简单易学习,且高效率应用广,近几年来发展迅猛,一度进入编程语言排行榜前六名.为了使程序员能更快的学习Python语言,所以写的此教程.也可以说是对自己学习的总结.但文章尽量会使用教学的口吻.希望能帮助更多想要学习Python的你. 本教程很多概念性的东西可能不在累赘,建立在大家已经懂得的基础之上.如有些许不懂还请自行学习.致力于程序员高手可以快速入门Python语言. 文章会在今日头条-做全栈攻城狮首发.地址:http://www.toutiao.com/m5443584

Docker简明教程(转)

Docker自从诞生以来就一直备受追捧,学习Docker是一件很炫酷.很有意思的事情.我希望通过这篇文章能够让大家快速地入门Docker,并有一些学习成果来激发自己的学习兴趣.我也只是一个在Docker这条巨鲸上玩耍的小孩,全文如有不明确.不正确的地方,还请斧正. Ubuntu上安装Docker Docker的基础是Linux容器技术,因此学习Docker最好是使用Linux.这里推荐64位Ubuntu系统,因为在写此文(2015-05-28)时,Docker还不支持32位,尽管民间有些土办法可

Docker简明教程

Docker自从诞生以来就一直备受追捧,学习Docker是一件很炫酷.很有意思的事情.我希望通过这篇文章能够让大家快速地入门Docker,并有一些学习成果来激发自己的学习兴趣.我也只是一个在Docker这条巨鲸上玩耍的小孩,全文如有不明确.不正确的地方,还请斧正. Ubuntu上安装Docker Docker的基础是Linux容器技术,因此学习Docker最好是使用Linux.这里推荐Ubuntu系统,如果手边没有Ubuntu系统可以去Digitalocean.Ucloud等云服务商去租用一个L

php 连接redis 数据库单利类

<?php class RedisConnect { /** * Redis的ip * * @var string */ const REDISHOSTNAME = "127.0.0.1"; /** * Redis的port * * @var int */ const REDISPORT = 6379; /** * Redis的超时时间 * * @var int */ const REDISTIMEOUT = 0; /** * Redis的password * * @var un

Redis数据库的初步认识(二)-C/C++连接redis数据库

1用C语言连接数据库,首先要安装c语言的数据库 在目录/redis- 4.0.1/deps下面执行sudo make/make install命令 在执行完之后可能执行ldconfig命令来更新连接符 2连接数据库 redisContext* c=redisConnect("127.0.0.1",6379); 释放连接 redisFree(c); 3对redis进行的操作 reply1=static_cast<redisReply *>(redisCommand(c,&qu