Docker部署Redis服务
目录
Docker部署Redis服务
第一章、Redis介绍
redis本质上是一个Key-Value类型的内存数据库,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中。redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
第二章、Docker部署redis
1、Redis镜像搜索并拉取镜像
docker search redis
docker pull redis
2、创建Redis文件及数据存放目录
[root@node-1 ~]# mkdir -p /gm/redis/{conf,data}
[root@node-1 ~]# ll /gm/redis/
drwxr-xr-x 2 root root 6 8月 2 14:57 conf
drwxr-xr-x 2 root root 6 8月 2 14:57 data
3、部署redis,并启动
docker run -it -d -p 6379:6379 --restart=unless-stopped --name docker-redis -v /gm/redis/conf/redis.conf:/etc/redis/redis.conf -v /gm/redis/data:/data redis redis-server /etc/redis/redis.conf --appendonly yes
- redis.conf 为redis的配置文件
- /gm/redis/data 里面存放了rdb和aof文件
- -p 6379:6379 ':'前面为宿主机对外端口号,':'后面为docker容器内redis服务端口号
- /gm/redis/data目录下存放的rdb和aof文件
4、查看是否部署成功
[root@node-1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4ef996d09701 redis "docker-entrypoint.s…" 6 seconds ago Up 4 seconds 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp docker-redis
[root@node-1 ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 8751/docker-proxy
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 942/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1488/master
tcp6 0 0 :::6379 :::* LISTEN 8758/docker-proxy
tcp6 0 0 :::22 :::* LISTEN 942/sshd
tcp6 0 0 ::1:25 :::* LISTEN 1488/master
5、进入docker容器中对redis进行简易操作
[root@node-1 /gm/redis/data]# docker exec -it docker-redis /bin/bash
#进入容器后执行redis-cli指令,进入redis控制台,操作一些简单的指令,之后执行quit退出控制台
root@4ef996d09701:/data# redis-cli
127.0.0.1:6379> get rediskey
(nil)
127.0.0.1:6379> set rediskey gm-medicare-test
OK
127.0.0.1:6379> get rediskey
"gm-medicare-test"
127.0.0.1:6379>
以上docker部署redis完成,如果有需要进行一些特殊配置可以到前面咱们设置的挂载目录/gm/redis/conf,去修改redis.conf文件,修改之后重启。