intro

最近需要用个redis做验证码校验功能,替代原来的利用session的方式做验证码校验的功能,考虑到部署的便捷性,这里就用docker部署一个redis,下面记录下

安装docker

这里我直接用的docker的一键安装脚本来安装,系统环境为Ubuntu 14.04.3 LTS,内核版本为3.13.0-24-generic,由于安装docker对内核版本有一定的要求,不清楚的话,可以执行lsb_release -a查看系统版本,执行uname -r查看内核版本,如果内核版本低于3.10的用户需要自行替换内核,可以参考这篇替换内核的文章

1
2
3
4
5
6
7
8
#docker官方安装脚本
curl -sSL https://get.docker.com/ | sh

#阿里云的安装脚本
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh

#DaoCloud 的安装脚本
curl -sSL https://get.daocloud.io/docker | sh

执行之后,如果没啥问题,docker engine就安装好了

国内用户换docker的源

国内用户访问docker老问题,速度慢,前段时间阿里云和docker也做了合作,我这里直接用了阿里云的的docker加速服务。关于使用阿里云docker源可以参考这篇文章。这里我的系统是Ubuntu 14.04,我的阿里云docker加速地址为https://2h3po24q.mirror.aliyuncs.com,直接执行

1
2
echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=https://2h3po24q.mirror.aliyuncs.com\"" | sudo tee -a /etc/default/docker
sudo service docker restart

通过docker安装redis

执行sudo docker run -d --name redis -p 6379:6379 redis
这里首先docker会本地搜索docker images中理出来的镜像,如果没有则从docker hub(阿里云docker registry)拉取redis的docker镜像,然后启动一个名为redis容器,把本地的6379端口和容器中的6379端口映射起来,并让容器运行在后台.这样利用docker来安装redis就完成了。

测试redis的安装

这里为了完成测试容器中的redis,首先我们需要一个redis-client,通过连接到本地的6379端口来达到连接到容器中的redis的目的

1
2
3
4
5
6
7
8
//安装redis client
$ apt-get install redis-tools
//启动redis-cli
$ redis-cli -h localhost -p 6379
//redis-cli
localhost:6379> set hello world
localhost:6379> get hello
"world"

PS:补充下,关于为什么redis选择使用6379作为他的默认端口,redis的作者antirez在twitter上提到为啥他用6379作为默认端口号,6379在手机按键上是MERZ,而MERZ取自意大利女歌手Alessia Merz的名字。MERZ长期以来被antirez及其朋友当做愚蠢的代名词.