美文网首页
Docker学习笔记-3-搭建第一个docker应用栈

Docker学习笔记-3-搭建第一个docker应用栈

作者: Elitack | 来源:发表于2017-04-18 15:30 被阅读0次

    初学docker,打算搭建一个docker 应用栈。 基本技术是在一台主机上,运行多个docker 镜像,并完成多个docker之间的一些协作等功能。多个主机的功能我会以后再写。因为一个真正的分布式架构集群还需要处理容器的跨主机通信问题。

    功能

    我们将搭建一个包含6个节点的docker应用栈,其中包括一个代理节点、两个WEB的应用节点、一个主数据库节点及两个从数据库节点:

    Docker应用栈结构

    操作

    获取应用栈各节点所需镜像

    sudo docker pull ubuntu
    sudo docer pull django
    sudo docker pull haproxy
    sudo docker pull redis
    sudo docker images

    Docker images

    应用栈容器节点互联

    这里采用docer run命令的--link选项建立容器间的互联关系

    • 格式:name:alias
    • 目标
      • 启动redis-master容器节点
      • 连接两个redis-slave到redis-master上
      • 连接两个APP到redis-master上
      • HAProxy连接到两个APP上
    • alias为别名,即link的名字,因为 image 不用知道其他container的名字, 只用在run的时候把名字映射为自己了解的就可以了

    应用栈节点启动

    sudo docker run -it --name redis-master redis /bin/bash
    sudo docker run -it --name redis-slave1 --link redis-master:master redis /bin/bash
    sudo docker run -it --name redis slave2 --link redis-master:master redis /bin/bash

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

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

    相关文章

      网友评论

          本文标题:Docker学习笔记-3-搭建第一个docker应用栈

          本文链接:https://www.haomeiwen.com/subject/ttuaattx.html