容器互联,单机伪集群搭建

1.集群示意图

2.从docker hub上获取响应的镜像

docker pull redis

docker pull django

docker pull haproxy

docker pull ubuntu

3.应用栈的启动顺序

启动redis-master容器节点

两个redis-salve容器节点连接到redis-master节点上

两 app节点启动时要连接到redis-master节点上

Hapoxy节点要连接到两个app节点上

综上所述启动顺序为:

redis-master----》redis-slave------》App -------》Haproxy

注意:为了外网能访问应用栈主机 ,并通过haproxy访问应用栈中app,在启动haproxy时需要-p 选项暴露一个端口给主机,即可以通过主机ip加暴露的端口从外网访问应用栈的app主机

4.启动相应节点的容器

分别启动redis容器

#启动redis-master节点

docker run -it --name redis-master redis /bin/bash

172.17.0.2对应的是redis-master节点

#将redis-slave1 链接到redis-master

docker run -it --name redis-salve1 --link redis-master:master redis /bin/bash

172.17.0.3对应的是redis-salve1节点

#将redis-slave2 链接到redis-master

docker run -it --name redis-salve2 --link redis-master:master redis /bin/bash

172.17.0.4对应的是redis-salve2节点

启动app节点

 docker run -it --name APP1 --link redis-master:db -v ~/Projects/Django/App1:/usr/src/app django /bin/bash
 docker run -it --name APP2 --link redis-master:db -v ~/Projects/Django/APP2:/usr/src/app django /bin/bash

172.17.0.5 对应APP1   172,17.0.6对应APP2 他都是与redis-master进行容器互联

#通过 -v选项 容器的/usr/src/app与挂载到宿主机的  ~/Projects/Django/App1 目录上,这样在宿主机的   ~/Projects/Django/App1 目录下操作等同于在容器、/usr/src/app 目录下操作。

启动haproxy容器

docker run -it --name HAProxy --link APP1: --link APP2:APP2 -p 6301:6301 -v ~/Projects/HAProxy:/tmp haproxy /bin/bash

分别于 app1 和 app2 进行容器互联,其中172,.17.0.7就是haproxy容器的ip

查看所有容器节点

5.应用栈容器的配置

Redis Master 主节点容器的配置

查看master节点映射在宿主机中文件目录

对容器做映射操作

 docker inspect --format "{{ .Config.Volumes }}" 8cb6

查看映射到宿主机的目录

cd /var/lib/docker/volumes/1cbd4af8df10700281d44b3a3906bc0bf6c2f29ee44ee154170154f51ba41727/_data

在你的宿主机 安装redis

yum install -y redis

由于容器中没有编辑器 不能使用vi 等命令,所以需要将redis的配置文件复制过去放在挂载的宿主机目录下,并做如下更改

主要更改 redis的启动方式,将redis默认的前台启动方式改为后台运行的方式

daemonized yes   #默认是no

在redis-master容器中操作

[[email protected] _data]# docker exec -it 8cb6 /bin/bash

[email protected]:/data# ls
redis.conf

将redis的配置文件放到 redis的启动目录下

cp  redis.conf /usr/local/bin

启动redis-master

redis-server redis.conf

原文地址:https://www.cnblogs.com/benjamin77/p/9467360.html

时间: 2024-10-09 17:53:05

容器互联,单机伪集群搭建的相关文章

ZooKeeper单机伪集群搭建与启动

下载解压 [[email protected] ~]$ tar -zvxf zookeeper-3.4.9.tar.gz 本机ip地址映射 [[email protected] /]$ su - rootPassword: Last login: Sat Aug 4 18:59:38 EDT 2018 on :0 [[email protected] ~]# cd /etc [[email protected] etc]# vim hosts 将本机ip映射为一个主机名,在zoo.cfg中可用这

centos7环境下zookeeper的搭建步骤之单机伪集群

首先说明:这里是单机版的伪集群搭建 第一步:下载zookeeper:zookeeper的下载地址: http://mirror.bit.edu.cn/apache/zookeeper/ 第二步:安装:将下载的zookeeper上传到linux系统中,使用命令解压 tar -zxvf zookeeper-3.4.10.tar.gz 查看解压的文件: ls 进入zookeeper-3.4.10/conf/目录下: cd zookeeper-3.4.10/conf/ 在/zookeeper-3.4.1

[dubbo实战] dubbo+zookeeper伪集群搭建

zookeeper作为注册中心,服务器和客户端都要访问,如果有大量的并发,肯定会有等待.所以可以通过zookeeper集群解决. 一.为什么需要zookeeper呢? 大部分分布式应用需要一个主控.协调器或者控制器来管理物理分布的子进程.目前,大多数都要开发私有的协调程序,缺乏一个通用机制,协调程序的反复编写浪费,且难以形成通用.伸缩性好的协调器,zookeeper提供通用的分布式锁服务,用以协调分布式应用.所以说zookeeper是分布式应用的协作服务. 二.zookeeper的工作原理 核心

备忘zookeeper(单机+伪集群+集群)

#下载: #单机模式 解压到合适目录. 进入zookeeper目录下的conf子目录, 复制zoo_sample.cfg-->zoo.cfg(如果没有data和logs就新建):tickTime=2000 dataDir=/Users/apple/zookeeper/data dataLogDir=/Users/apple/zookeeper/logs clientPort=2180 参数说明:tickTime: zookeeper中使用的基本时间单位, 毫秒值.dataDir: 数据目录. 可

zookeeper安装和配置(单机+伪集群+集群)

#单机模式 解压到合适目录. 进入zookeeper目录下的conf子目录, 复制zoo_sample.cfg-->zoo.cfg(如果没有data和logs就新建):tickTime=2000 dataDir=/Users/apple/zookeeper/data dataLogDir=/Users/apple/zookeeper/logs clientPort=2180 参数说明:tickTime: zookeeper中使用的基本时间单位, 毫秒值.dataDir: 数据目录. 可以是任意目

zookeeper 伪集群搭建

简介Zookeeper 是 一个分布式.开放源码的分布式应用程序协调服务,是Google Chubby的一个开源实现,大多数的分布式应用都需要Zookeeper的支持,这篇文章先简单的和大家分享如何搭建一个zookeeper集群.(笔者注:Chubby是一个lock service,通过这个lock service可以解决分布式中的一致性问题.为这个lock service的实现是一个分布式的文件系统. 环境: 由于我是用自己的笔记本做实验,所以就用了一台虚拟机:其实和真实的差不多:也就配置有些

redis伪集群搭建(亲测无坑)

一.单机版安装部署,伪集群只需要操作前1-8步即可,再往下浏览找到:二.单机版-伪集群 ?安装部署继续搭建,如需设置密码参照第10步 1.安装基本工具 yum install -y?gcc-c++ vim lrzsz wget? 2.创建.进入目录 mkdir /opt/redis cd /opt/redis 3.下载 wget http://download.redis.io/releases/redis-5.0.5.tar.gz 4.解压.查看文件 tar zxvf redis-5.0.5.

zookeeper伪集群搭建

下载地址:http://mirror.bit.edu.cn/apache/zookeeper/ yum install telnet -y -y 不再提示 全部选择yes 1.解压三个zk文件夹分别为 zk8081 zk80822.zk2181: mkdir data mkdir logs touch /daata/myid 写入1zk2182: mkdir data mkdir logs touch /daata/myid 写入2zk2183: mkdir data mkdir logs to

hbase伪集群搭建

hbase 数据存储有三种跑法,跑在本地磁盘上.跑在伪分布式上.跑在完全分布式上--------额...官网的文档挺坑爹的,结合官网.百度.谷歌的各种文档看,只要理解原理,搭建也不算难(当然照的官网文档个看就比较坑爹了)单机模式 ------->> 这个最简单,免写了,下了包直接解压配置个路径就可以启动了,zk 和 hbase 都是起在同一个 jvm 中的,数据落到本地磁盘.伪分布式部署方式 ------->> 先部署 hdfs , 再部署 hbase ,它们的各个进程跑在不同的