docker-compose 安装redis sentinel,共享主机网络模式
采坑记录:
docker sentinel模式安装完后因为是使用bridge模式,所以只有docker中运行的程序才能访问。刚开始尝试使用端口映射,返现sentinel返回的地址依然是docker的内网地址。
docker-compose.yml
version: '3.2'
services:
master:
container_name: redis-master-1
image: redis:3
command: redis-server --port 16379
ports:
- "16379"
network_mode: "host"
slave:
image: redis:3
container_name: redis-slave-1
ports:
- "16380"
network_mode: "host"
command: redis-server --port 16380 --slaveof redis-master 16379
sentinel:
container_name: redis-sentinel-1
build: sentinel
ports:
- "26379"
environment:
- SENTINEL_DOWN_AFTER=5000
- SENTINEL_FAILOVER=5000
network_mode: "host"
2、sentinel.conf文件:
# Example sentinel.conf can be downloaded from http://download.redis.io/redis-stable/sentinel.conf port 26379 dir /tmp sentinel monitor mymaster redis-master 16379 $SENTINEL_QUORUM sentinel down-after-milliseconds mymaster $SENTINEL_DOWN_AFTER sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster $SENTINEL_FAILOVER
3、由于compose和sentinel都使用域名连接master:redis-master,则需要在/etc/hosts中配置该域名解析
10.8.0.1 redis-master
注意此处一定要解析成程序能访问到的IP地址。
4、docker相关的一些命令
查看运行中的容器:docker container ls
启动tracker:docker container start tracker
启动storage:docker container start storage
停止tracker:docker container stop tracker
停止storage:docker container stop storage
docker exec -it tracker /bin/bash
docker logs xxx 查看日志 xxxx为容器Id
docker ps -a 查看所有
netstat -anp |grep 22122 docker exec -it redis-sentinel-1 redis-cli -h 10.8.0.1 -p 26379 SENTINEL get-master-addr-by-name mymaster 获取sentinel返回的redis节点地址
docker exec -it redis-sentinel-1 redis-cli -h 10.8.0.1 -p 26379 SENTINEL slaves mymaster 获取sentinel返回的redis节点地址
docker-compose 安装redis sentinel,共享主机网络模式的更多相关文章
- 使用Docker Compose部署基于Sentinel的高可用Redis集群
使用Docker Compose部署基于Sentinel的高可用Redis集群 https://yq.aliyun.com/articles/57953 Docker系列之(五):使用Docker C ...
- Docker Compose 部署 Redis 及原理讲解 | 懒人屋
原文:Docker Compose 部署 Redis 及原理讲解 | 懒人屋 Docker Compose 部署 Redis 及原理讲解 4.4k 字 16 分钟 2019-10-1 ...
- Docker Compose 搭建 Redis Cluster 集群环境
在前文<Docker 搭建 Redis Cluster 集群环境>中我已经教过大家如何搭建了,本文使用 Docker Compose 再带大家搭建一遍,其目的主要是为了让大家感受 Dock ...
- VMware VMnet8 模式共享主机网络配置静态 IP 和 DNS
一.简介 NAT网络模式: 1. 宿主机可以看做一个路由器,虚拟机通过宿主机的网络来访问 Internet: 2. 可以安装多台虚拟机,组成一个小型局域网,例如:搭建 hadoop 集群.分布式服务 ...
- 在CentOS上通过Docker方式安装Redis
在CentOS上通过Docker方式安装Redis 首先保证已经安装docker. 拖拽redis镜像 docker pull redis 启动redis docker run -p 6379:637 ...
- 手把手教你 Docker Compose安装DOClever
一.什么是Docker Compose以及Docker Compose的安装和使用 查看我的另外一篇博客:Docker Compose的安装和使用 二.DOClever是什么 DOClever是一个可 ...
- CentOS双机中Docker下安装Mysql并配置互为主从模式
CentOS双机中Docker下安装Mysql并配置互为主从模式 目录 1.搜索镜像... 1 2.拉取镜像... 1 3.绑定端口: 1 4.配置文件(修改/etc/mysql/my.cnf文件): ...
- centos7下安装docker(15.7容器跨主机网络---calico)
Calico是一个纯三层的虚拟网络方案,Calico为每个容器分配一个IP,每个host都是router,把不同host的容器连接起来.与vxlan不同的是:calico不对数据包进行封装,不需要NA ...
- docker和docker compose安装使用、入门进阶案例
一.前言 现在可谓是容器化的时代,云原生的袭来,导致go的崛起,作为一名java开发,现在慌得一批.作为知识储备,小编也是一直学关于docker的东西,还有一些持续继承jenkins. 提到docke ...
随机推荐
- minitab笔记
1.如何用minitab检测一组数据是否服从正态分布 打开Minitab之后点击Stat>Basic Statistics> Normality Test,分析之后若 P value(P值 ...
- doctrine/annotation 的简单使用
<?php // 错误处理机制 register_shutdown_function('myShutDown'); set_error_handler('myError'); set_excep ...
- 【转】ASP.NET Core开发之HttpContext
ASP.NET Core中的HttpContext开发,在ASP.NET开发中我们总是会经常用到HttpContext. 那么在ASP.NET Core中要如何使用HttpContext呢,下面就来具 ...
- Python-接口自动化(二)
python基础知识(二) (二)常用控制流 1.控制语句 分支语句:起到一个分支分流的作用,类似马路上的红绿灯 循环语句:for while 可以使代码不断重复的执行 2.判断语句:关键字是if.. ...
- Linux下实现ssh免密认证
添加域名映射 配置ssh免密登陆 拷贝master服务器公钥至本机 验证master服务器ssh免密登录其余服务器 添加域名映射 打开hosts文件 Vim /etc/hosts 添加域名对象 配置s ...
- layui布局器网站工具
http://layuiout.magicalcoder.com/magicaldrag-admin/drag
- 查询系统正在运行的SQL语句
查询系统正在运行的SQL语句: select a.program, b.spid, c.sql_text from v$session a, v$process b, v$sqlarea c wher ...
- Spring 源码学习(1)—— 容器的基本实现
最近在读Spring的源码,参考的是郝佳的<Spring源码深度解析>,这里把一些学习心得分享一下,总结的地方可能还有一些不完善,希望大家指教 IoC(控制反转)是Spring的特性之一, ...
- B-trees
B-trees are balanced search trees designed to work well on disks or other direct accesssecondary sto ...
- 蓝牙协议分析(8)_BLE安全机制之白名单
1. 前言 在万物联网的时代,安全问题将会受到非常严峻的挑战(相应地,也会获得最大的关注度),因为我们身边的每一个IOT设备,都是一个处于封印状态的天眼,随时都有被开启的危险.想想下面的场景吧: 凌晨 ...