摸了两天坑,基本摸明白了,docker使用起来很方面,安装redis分分钟的事情。
服务器上预先安装好docker环境,这个不多说。
先搜索一下docker里的reids镜像库:
docker search redis
出来的列表如图:
我们拉取第一个镜像文件即可:
docker pull redis
然后看一下我们当前拉取的镜像:
docker images
可以看到里面已经有一个关于redis的镜像了。
接着,我们根据这个镜像去运行出一个容器即可:
docker run --name redis2 -p 6377:6379 -d redis
redis2是我们自定义容器名,我们将容器内的6379端口映射到外部主机的6377上了,经测试无需密码即可链接成功:
不过这样是不安全的,一般我们最好设置一个默认密码比较好。刚刚穿创建的redis容器不用动,我们重新创建一个名为myredis的容器,执行以下命令:
docker run -d --name myredis -p 6376:6379 redis --requirepass "123456"
执行完以后docker ps可以看到这个创建好的容器,再去通过redis客户端连接6376这个端口的redis服务器时,就需要输入密码才能成功了。
当然当然,这样虽然方便,但是是不灵活的,docker创建redis容器默认是没有reids.conf配置文件的,我们如果要自己修改密码就不好处理了,所以需要自己整一个配置文件,并挂载到相应的目录下。
https://redis.io/topics/config/ 这个地址可以下载redis的配置文件,我下载的是3.2版本的。
下载下来以后修改几个地方:
daemonize no#用守护线程的方式启动 (需要注意,如果是yes,redis是创建后会连不上,这个是个大坑,尤其要注意一下)
requirepass yourpassword#给redis设置密码
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
appendonly yes#redis持久化
修改完这四个地方以后,我们新建一下目录,root文件夹下新建一个redis文件夹,里面再放一个data文件夹和下载并修改好的redis.conf文件,如图:
这个目录自己建就行,打开ftp是为了直观,直接命令行mkdir一样。
然后我们要执行的、创建redis容器的命令就不一样啦:
docker run -p 6378:6379 --name redis -v /root/redis/redis.conf:/etc/redis/redis.conf -v /root/redis/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
-v是挂载目录的意思,格式都是统一的,磁盘路径:容器路径,后面的redis-server /etc/redis/redis.conf表示以配置文件的方式启动redis,appendonly yes 表示开启持久化。
以上,就是整个docker部署单机redis的教程啦~ 操作并不复杂,就是有些小坑需要注意。
PS:楼主邮箱 tccwpl@163.com