docker镜像创建redis5.0.3容器集群
拉取redis5.0.3镜像
# docker pull daocloud.io/library/redis:5.0.3
[root@localhost ~]# docker pull daocloud.io/library/redis:5.0.
5.0.: Pulling from library/redis
5e6ec7f28fb7: Pull complete
7fdf7fb3ec49: Pull complete
4bd5dbe7bfa7: Pull complete
71f540684935: Pull complete
8c6dbecedd0f: Pull complete
9d190b6684fc: Pull complete
Digest: sha256:e1dc07bf1465661b90b18c1c766c00f733254bf64fcf2ad7a335b2fc1fa31870
Status: Downloaded newer image for daocloud.io/library/redis:5.0.
[root@localhost ~]#
[root@localhost ~]# docker images
centos latest 9f38484d220f weeks ago 202MB
daocloud.io/library/redis 5.0. 82629e941a38 months ago 95MB
ubuntu 16.04 7e87e2b3bf7a months ago 117MB
mysql latest 102816b1ee7d months ago 486MB
给redis5.0.3镜像打标签
# docker tag 82629e941a38 redis
删除源镜像标签
# docker rmi daocloud.io/library/redis:5.0.3
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 9f38484d220f weeks ago 202MB
daocloud.io/library/redis 5.0. 82629e941a38 months ago 95MB
redis latest 82629e941a38 months ago 95MB
ubuntu 16.04 7e87e2b3bf7a months ago 117MB
mysql latest 102816b1ee7d months ago 486MB
[root@localhost ~]#
[root@localhost ~]# docker rmi daocloud.io/library/redis:5.0.
Untagged: daocloud.io/library/redis:5.0.
Untagged: daocloud.io/library/redis@sha256:e1dc07bf1465661b90b18c1c766c00f733254bf64fcf2ad7a335b2fc1fa31870
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 9f38484d220f weeks ago 202MB
redis latest 82629e941a38 months ago 95MB
ubuntu 16.04 7e87e2b3bf7a months ago 117MB
mysql latest 102816b1ee7d months ago 486MB
创建6个redis容器集群
以redis7000为例:
# docker run --name redis7000 -p 7000:6379 -d redis redis-server --requirepass "123456" --appendonly yes --protected-mode no --cluster-enabled yes
说明:
redis的密码为123456
Redis持久化功能已启动
保护模式已经关闭
集群模式已开启
[root@localhost ~]# docker run --name redis7000 -p : -d redis redis-server --requirepass "" --appendonly yes --protected-mode no --cluster-enabled yes
d8b4eb2b5459b2eaceca1d957b9422123ac906c41a5bf8d23bd65545dda33c77
[root@localhost ~]# docker run --name redis7001 -p : -d redis redis-server --requirepass "" --appendonly yes --protected-mode no --cluster-enabled yes
163c705af09706b38e2f327febdecbf9c37d3b1528f7d4bfb667eb257d3a0be7
[root@localhost ~]# docker run --name redis7002 -p : -d redis redis-server --requirepass "" --appendonly yes --protected-mode no --cluster-enabled yes
e4604f44be05811a9dbcf0af9f3f0b6db976dde9c8c2772d8773e6979fbb7284
[root@localhost ~]# docker run --name redis7003 -p : -d redis redis-server --requirepass "" --appendonly yes --protected-mode no --cluster-enabled yes
a76f43511bb20945695943d009041b2f8398b1e3a5217524edfa34589ad91311
[root@localhost ~]# docker run --name redis7004 -p : -d redis redis-server --requirepass "" --appendonly yes --protected-mode no --cluster-enabled yes
9eace890c3a44314a01ef58fc0d09086f752be95300165868435b8dfbb1f61b2
[root@localhost ~]# docker run --name redis7005 -p : -d redis redis-server --requirepass "" --appendonly yes --protected-mode no --cluster-enabled yes
e91e99f1c31f2deab8f87f0af75625087a2913ff382ef15e62bce2b8d472e60f
[root@localhost ~]#
查看容器状态
# docker ps
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e91e99f1c31f redis "docker-entrypoint.s…" seconds ago Up seconds 0.0.0.0:->/tcp redis7005
9eace890c3a4 redis "docker-entrypoint.s…" seconds ago Up seconds 0.0.0.0:->/tcp redis7004
a76f43511bb2 redis "docker-entrypoint.s…" seconds ago Up seconds 0.0.0.0:->/tcp redis7003
e4604f44be05 redis "docker-entrypoint.s…" seconds ago Up seconds 0.0.0.0:->/tcp redis7002
163c705af097 redis "docker-entrypoint.s…" seconds ago Up seconds 0.0.0.0:->/tcp redis7001
d8b4eb2b5459 redis "docker-entrypoint.s…" About a minute ago Up About a minute 0.0.0.0:->/tcp redis7000
查看6个redis容器的IP
# docker inspect redis7000 | grep IPAddress
[root@localhost ~]# docker inspect redis7000 | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.6",
"IPAddress": "172.17.0.6",
[root@localhost ~]#
[root@localhost ~]# docker inspect redis7001 | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.8",
"IPAddress": "172.17.0.8",
[root@localhost ~]#
[root@localhost ~]# docker inspect redis7002 | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.9",
"IPAddress": "172.17.0.9",
[root@localhost ~]#
[root@localhost ~]# docker inspect redis7003 | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.10",
"IPAddress": "172.17.0.10",
[root@localhost ~]# docker inspect redis7004 | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.11",
"IPAddress": "172.17.0.11",
[root@localhost ~]#
[root@localhost ~]# docker inspect redis7005 | grep IPAddress
"SecondaryIPAddresses": null,
"IPAddress": "172.17.0.12",
"IPAddress": "172.17.0.12",
[root@localhost ~]#
进入redis7000容器
# docker exec -it redis7000 bash
客户端交互
[root@localhost ~]# docker exec -it redis7000 bash
root@d8b4eb2b5459:/data#
root@d8b4eb2b5459:/data# redis-cli
127.0.0.1:> exit
root@d8b4eb2b5459:/data#
root@d8b4eb2b5459:/data# redis-cli -h 172.17.0.6 -p
172.17.0.6:>
172.17.0.6:> exit
root@d8b4eb2b5459:/data#
root@d8b4eb2b5459:/data# redis-cli -h 172.17.0.8 -p
172.17.0.8:>
172.17.0.8:> exit
root@d8b4eb2b5459:/data#
集群创建
# redis-cli -a 123456 --cluster create 172.17.0.6:6379 172.17.0.8:6379 172.17.0.9:6379 172.17.0.10:6379 172.17.0.11:6379 172.17.0.12:6379 --cluster-replicas 1
root@d8b4eb2b5459:/data#
root@d8b4eb2b5459:/data# redis-cli -a --cluster create 172.17.0.6: 172.17.0.8: 172.17.0.9: 172.17.0.10: 172.17.0.11: 172.17.0.12: --cluster-replicas
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Performing hash slots allocation on nodes...
Master[] -> Slots -
Master[] -> Slots -
Master[] -> Slots -
Adding replica 172.17.0.10: to 172.17.0.6:
Adding replica 172.17.0.11: to 172.17.0.8:
Adding replica 172.17.0.12: to 172.17.0.9:
M: 19519487a7db6f2fa5fda5f6e1807befe75665e5 172.17.0.6:
slots:[-] ( slots) master
M: f6adb618124c791db4e31347982d086cd8b58646 172.17.0.8:
slots:[-] ( slots) master
M: 1b5b85bd1f068a656b88e0e396f7da8bc0242ebf 172.17.0.9:
slots:[-] ( slots) master
S: ca40bc6c36c7c14a7e91b04bec51bc6bb75eebea 172.17.0.10:
replicates 19519487a7db6f2fa5fda5f6e1807befe75665e5
S: b25431b20840b04fc2262d246482981a1a49c1cf 172.17.0.11:
replicates f6adb618124c791db4e31347982d086cd8b58646
S: 53515a889f77bbe553c8fb664983cded5d767826 172.17.0.12:
replicates 1b5b85bd1f068a656b88e0e396f7da8bc0242ebf
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join
...
>>> Performing Cluster Check (using node 172.17.0.6:)
M: 19519487a7db6f2fa5fda5f6e1807befe75665e5 172.17.0.6:
slots:[-] ( slots) master
additional replica(s)
M: 1b5b85bd1f068a656b88e0e396f7da8bc0242ebf 172.17.0.9:
slots:[-] ( slots) master
additional replica(s)
S: b25431b20840b04fc2262d246482981a1a49c1cf 172.17.0.11:
slots: ( slots) slave
replicates f6adb618124c791db4e31347982d086cd8b58646
S: 53515a889f77bbe553c8fb664983cded5d767826 172.17.0.12:
slots: ( slots) slave
replicates 1b5b85bd1f068a656b88e0e396f7da8bc0242ebf
M: f6adb618124c791db4e31347982d086cd8b58646 172.17.0.8:
slots:[-] ( slots) master
additional replica(s)
S: ca40bc6c36c7c14a7e91b04bec51bc6bb75eebea 172.17.0.10:
slots: ( slots) slave
replicates 19519487a7db6f2fa5fda5f6e1807befe75665e5
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All slots covered.
root@d8b4eb2b5459:/data#
end
docker镜像创建redis5.0.3容器集群的更多相关文章
- Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET
Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET undefined Package - crawler undefined 科学网- ...
- Redis5.0.8 Cluster集群部署
目录 一.Redis Cluster简介 二.部署 三.创建主库 一.Redis Cluster简介 Redis Cluster集群是一种去中心化的高可用服务,其内置的sentinel功能可以提供高可 ...
- 使用Docker方式创建3节点的Etcd集群
一.简要说明 二.运行容器 三.验证集群 四.运行截图 五.参考链接 一.简要说明 参考etcd官网文档, 在node1.node2.node3三个节点上,分别运行etcd容器,创建etcd集 ...
- Docker:Swarm + Stack 一站式部署容器集群
参考1 参考2 1.注意docker的版本,yum默认安装的版本比较低,可能出现 unsupported Compose file version: 3.7 docker版本升级 2.docker-c ...
- 容器、容器集群管理平台与 Kubernetes 技术漫谈
原文:https://www.kubernetes.org.cn/4786.html 我们为什么使用容器? 我们为什么使用虚拟机(云主机)? 为什么使用物理机? 这一系列的问题并没有一个统一的标准答案 ...
- Docker应用:Kubernetes(容器集群)
阅读目录: Docker应用:Hello World Docker应用:Docker-compose(容器编排) Docker应用:Kubernetes(容器集群) 前言: 终于出第三篇了,上个月就已 ...
- Docker容器集群管理之Swarm
Docker容器集群管理主流方案 Swarm Docker公司自研发的集群管理系统. Kubernetes Google开源的一个容器集群管理系统,用于自动化部署.扩展和管理容器应用.也称为K8S ...
- 测试环境docker化—容器集群编排实践
本文来自网易云社区 作者:孙婷婷 背景 在前文<测试环境docker化-基于ndp部署模式的docker基础镜像制作>中已经详述了docker镜像制作及模块部署的过程,按照上述做法已可以搭 ...
- Win10上的Docker应用:Kubernetes(容器集群)
阅读目录: Docker应用:Hello World Docker应用:Docker-compose(容器编排) Docker应用:Kubernetes(容器集群) 前言: 终于出第三篇了,上个月就已 ...
随机推荐
- ELFhash
字符串哈希算法(以ELFHash详解) 更多字符串哈希算法请参考:http://blog.csdn.net/AlburtHoffman/article/details/19641123 先来了解一 ...
- python筛选特定文件的信息按照格式输出到txt
最近搞数据库,为了把图片文件的信息导入数据库表中,我开始研究python列出图片文件,其中发现因为IE临时文件里有非常多的不需要的图片,就需要筛选掉一些文件. 最终用python输出了所有需要的图片文 ...
- 【javaScript】数组的相关操作
数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长 ...
- Django之路由配置系统(urlConfig)
简而言之,django的路由系统作用就是使views里面处理数据的函数与请求的url建立映射关系.使请求到来之后,根据urls.py里的关系条目,去查找到与请求对应的处理方法,从而返回给客户端http ...
- 【SpringBoot】SpringBoot热部署和配置文件自动注入实战
========================3.SpringBoot热部署devtool和配置文件自动注入实战 ============================ 1.SpringBoot2 ...
- Android之根布局动态载入子布局时边距设置无效问题
Android大部分的控件都会有padding和layout_margin两个属性,一般来说它们的差别是: padding:控件中的内容离控件边缘的距离. margin: 控件离它的父控件边缘的距离 ...
- windows 8,关闭随意窗体都提示“已停止工作”的解决的方法
电脑用的好好的,突然出现了关闭随意窗体都提示"已停止工作",每次都是这样.想想也就是偶尔优化一下,近期也没有改动过什么系统设置呀,突然想到昨晚JLink_V8固件丢失 ...
- 你不知道的JavaScript(上卷) (Kyle Simpson 著)
第一部分 作用域和闭包 第1章 作用域是什么 (已看) 1.1 编译原理 1.2 理解作用域 1.2.1 演员表 1.2.2 对话 1.2.3 编译器有话说 1.2.4 引擎和作用域的对话 1.2.5 ...
- Restaurant & Cooking Starter Kit v1.2.1 学习
项目: using UnityEngine; using System.Collections; namespace VoidGame { public class Constant : MonoBe ...
- script标签的同步和异步
1).把<script>标签放在<head>中意味着必须等到全部的js代码都下载解析和执行完成以后,才开始展现页面内容,为避免这个问题一般把js代码全部放在<body&g ...