Docker应用栈搭建

 

  • 操作系统内核:uname -r

 

 

  • docker 版本docker version

 

 

一、应用栈搭建

 

1.1、说明

 

  • 本实验将搭建一个一个包含6个节点的Docker应用栈,其中包括一个代理节点(HAProxy,负载均衡代理节点)、两个web应用节点(APP1、APP2,使用python语言设计的一个单表数据库)、一个主数据库节点(Master-Redis)以及两个从数据库节点(Slave-Redis),结构图如下 :

 

 

由图可知,后面的应用栈容器节点启动顺序为redis-master -》redis slave -》APP -》HAProxy

 

1.2、获取所需镜像(根据应用栈结构需要从Docker Hub获取HAProxy、Redis、Django的镜像)

 

  • docker pull ubuntu:14.04
  • docker pull haproxy
  • docker pull redis
  • docker pull django
  • 一切安装就绪。。。。。
  • sudo docker images

 

 

1.3、启动各个栈节点

 

  • 启动redis-Master容器节点
  • 两个redis-Slave容器节点启动时链接到redis-master
  • 两个APP容器节点启动时链接到redis-master
  • HAProxy容器节点启动时链接到两个APP节点
  • 说明:为了能够从外网访问应用栈,并通过HAProxy节点访问应用栈中的APP,启动HAProxy节点时必须使用 -p参数将端口暴露给主机

 

1.3.1、启动Redis容器(创建容器)

 

  • docker run -it --name redis-master redis /bin/bash
  • docker run -it --name redis-slave1 --link redis-master:master redis /bin/bash
  • docker run -it --name redis-slave2 --link redis-master:master redis /bin/bash
  • 说明:启动之后不要exit退出,使用ctrl+p,ctrl+q退出,(容器不关闭)
  • 查看已启动的容器 docker ps

 

 

1.3.2、启动Gjango容器

 

  • 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

 

 

 1.3.3、启动HAProxy容器

 

  • docker run -it --name HAProxy --link APP1:APP1 --link APP2:APP2 -p 6301:6301 -v ~/Projects/HAProxy:/tmp haproxy /bin/bash
  • 每个容器启动时都分配了一个终端,在 /bin/bash下
  • 所有容器信息如下:

 

 

1.4、应用栈容器节点配置

 

1.4.1、volume应用说明

 

  • 在应用栈的个容器节点都启动后,需要对他们进行配置和修改,以便使他们实现特定功能和通信协作,在linux系统下,可以利用volume来实现文件的创建(利用-v 参数挂载volume,在主机和容器间共享数据,这样就可以直接在主机上创建和编辑相关启动配置文
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值