Docker 实现Redis单机集群 1master+2slave+3sentinel
2018-03-07 00:00
357 查看
一、基本概念
1、镜像
2、容器
3、仓库
镜像,是分层存储的
容器,和镜像的关系,类似面向对象程序设计中的类和实例
仓库,是用于管理镜像,每个仓库可以包含多个标签(tag),每个标签对应一个镜像
二、利用commit理解镜像构成
三、基本命令:
镜像:
获取镜像: docker pull redis:latest
列出镜像: docker image ls
列出包括中间层镜像: docker image ls -a
列出部分镜像: docker image ls redis:latest
过滤镜像: docker image ls -f since=redis:latest
显示虚悬镜像: docker image ls -f dangling=true
删除虚悬镜像: docker image prune
删除本地镜像: docker image rm redis
用ls配合删除镜像: docker image rm $(docker image ls -q redis)
查看镜像、容器、数据卷所占用空间: docker system df
容器:
列出所有容器: docker container ls -a
运行容器: docker run redis
运行容器并启动bash终端: docker run -t -i redis /bin/bash
后台运行容器: docker run -d redis /bin/sh -c "while true; do echo hello world; sleep 1; done"
启动停止的容器: docker container start [Continer flag]
终止容器: docker container stop [Continer flag]
清除所有终止容器: docker container prune
删除容器: docker container rm [Continer flag]
获取容器输出信息: docker container logs [Continer flag]
进入容器: docker attach [Continer flag]
进入容器(推荐使用): docker exec -it [Continer flag] bash
(PS:使用 attach 从 stdin 中 exit ,会导致容器停止,使用 exec 则不会)
导出容器: docker export [Continer flag] redis.tar
导入容器快照: cat redis.tar | docker import - test/redis:v1.0
查看镜像的ip地址: docker inspect [Continer flag] |grep -i add
Redis集群:
1、部署Redis集群:
redis-master:
docker run -it -p 16379:6379 -v /home/docker/redis/redis-master.conf:/usr/local/etc/redis/redis.conf --name redis-master redis:latest /bin/bash
redis-slave:
docker run -it -p 26371:6379 -v /home/docker/redis/redis-slave1.conf:/usr/local/etc/redis/redis.conf --name redis-slave1 --link redis-master:master redis:latest /bin/bash
docker run -it -p 26372:6379 -v /home/docker/redis/redis-slave2.conf://usr/local/etc/redis/redis.conf --name redis-slave2 --link redis-master:master redis:latest /bin/bash
进入容器,启动redis: redis-server /usr/local/etc/redis/redis.conf
2、部署Redis哨兵模式,添加下面3个哨兵容器:
sentinel:
docker run -it -p 36371:36379 -v /home/docker/sentinel/redis-sentinel1.conf:/usr/local/etc/redis/redis.conf --name redis-sentinel1 --link redis-master:master redis:latest /bin/bash
docker run -it -p 36372:36379 -v /home/docker/sentinel/redis-sentinel2.conf:/usr/local/etc/redis/redis.conf --name redis-sentinel2 --link redis-master:master redis:latest /bin/bash
docker run -it -p 36373:36379 -v /home/docker/sentinel/redis-sentinel3.conf:/usr/local/etc/redis/redis.conf --name redis-sentinel3 --link redis-master:master redis:latest /bin/bash
进入容器,启动哨兵:redis-sentinel /usr/local/etc/redis/redis.conf
通过redis-cli 连接redis
1、镜像
2、容器
3、仓库
镜像,是分层存储的
容器,和镜像的关系,类似面向对象程序设计中的类和实例
仓库,是用于管理镜像,每个仓库可以包含多个标签(tag),每个标签对应一个镜像
二、利用commit理解镜像构成
三、基本命令:
镜像:
获取镜像: docker pull redis:latest
列出镜像: docker image ls
列出包括中间层镜像: docker image ls -a
列出部分镜像: docker image ls redis:latest
过滤镜像: docker image ls -f since=redis:latest
显示虚悬镜像: docker image ls -f dangling=true
删除虚悬镜像: docker image prune
删除本地镜像: docker image rm redis
用ls配合删除镜像: docker image rm $(docker image ls -q redis)
查看镜像、容器、数据卷所占用空间: docker system df
容器:
列出所有容器: docker container ls -a
运行容器: docker run redis
运行容器并启动bash终端: docker run -t -i redis /bin/bash
后台运行容器: docker run -d redis /bin/sh -c "while true; do echo hello world; sleep 1; done"
启动停止的容器: docker container start [Continer flag]
终止容器: docker container stop [Continer flag]
清除所有终止容器: docker container prune
删除容器: docker container rm [Continer flag]
获取容器输出信息: docker container logs [Continer flag]
进入容器: docker attach [Continer flag]
进入容器(推荐使用): docker exec -it [Continer flag] bash
(PS:使用 attach 从 stdin 中 exit ,会导致容器停止,使用 exec 则不会)
导出容器: docker export [Continer flag] redis.tar
导入容器快照: cat redis.tar | docker import - test/redis:v1.0
查看镜像的ip地址: docker inspect [Continer flag] |grep -i add
Redis集群:
1、部署Redis集群:
redis-master:
docker run -it -p 16379:6379 -v /home/docker/redis/redis-master.conf:/usr/local/etc/redis/redis.conf --name redis-master redis:latest /bin/bash
redis-slave:
docker run -it -p 26371:6379 -v /home/docker/redis/redis-slave1.conf:/usr/local/etc/redis/redis.conf --name redis-slave1 --link redis-master:master redis:latest /bin/bash
docker run -it -p 26372:6379 -v /home/docker/redis/redis-slave2.conf://usr/local/etc/redis/redis.conf --name redis-slave2 --link redis-master:master redis:latest /bin/bash
进入容器,启动redis: redis-server /usr/local/etc/redis/redis.conf
2、部署Redis哨兵模式,添加下面3个哨兵容器:
sentinel:
docker run -it -p 36371:36379 -v /home/docker/sentinel/redis-sentinel1.conf:/usr/local/etc/redis/redis.conf --name redis-sentinel1 --link redis-master:master redis:latest /bin/bash
docker run -it -p 36372:36379 -v /home/docker/sentinel/redis-sentinel2.conf:/usr/local/etc/redis/redis.conf --name redis-sentinel2 --link redis-master:master redis:latest /bin/bash
docker run -it -p 36373:36379 -v /home/docker/sentinel/redis-sentinel3.conf:/usr/local/etc/redis/redis.conf --name redis-sentinel3 --link redis-master:master redis:latest /bin/bash
进入容器,启动哨兵:redis-sentinel /usr/local/etc/redis/redis.conf
通过redis-cli 连接redis
相关文章推荐
- docker:搭建单机redis主从集群
- YII2实现redis单机和集群分别连接
- redis集群(单机6节点实现)
- 面向接口编程实现不改代码实现Redis单机/集群之间的切换
- Redis安装以及使用(单机、集群模式)
- 使用nginx搭建集群tomcat8,redis实现session共享,文件共享问题
- Redis集群下使用Jedis实现keys模糊查询
- 分布式集群Session共享 简单多tomcat8+redis的session共享实现
- redis集群实现(三)集群删除节点
- redis集群实现(六) 容灾与宕机恢复
- redis单机集群
- 缓存系列之五:通过codis3.2实现redis3.2.8集群的管理
- 基于docker的 redis集群之主从复制
- 玩转nodeJS系列:使用原生API实现简单灵活高效的路由功能(支持nodeJs单机集群),nodeJS本就应该这样轻快
- 在单机上实现ZooKeeper伪集群部署
- redis集群实现(七)sentinel数据结构和初始
- docker redis 集群(cluster)搭建
- (十一)Redis集群JedisCluster实现keys命令方法
- Shiro经过Redis管理会话实现集群(转载)
- redis集群安装以及jedis的实现