记录一次基于docker的网站架构方案

这个是网站的大概架构

ps:dc监控用于监控容器状态,以及查看容器运行日志,快速启动容器

rancher用于快速升级以及快速部署服务,以及做了一个高可用防止容器宕机(容器需要写docker-compose)

zabbix用于监控linux底层,并且写了邮箱告警,之所以放在底层没用到docker是觉得监控放在被监控服务当中一旦出问题很难排查

当然还用到了nginx做了高可用

只是一个很简单的练笔,因为资源有限用的4g2h所以服务不多

这边只记录下底层架构,网页端就不记录了

下面是搭建步骤,单纯记录不建议复制

 

安装docker

yum install -y docker

查看docker版本

[root@mwc yum.repos.d]# docker version

Client:

 Version:         1.13.1

 API version:     1.26

 

然后更新内核

yum install -y kernel

启动docker

systemctl start docker

 

部署rancher

docker run -d --restart=always -p 8081:8081 rancher/server

给rancher添加仓库节点

sudo docker run -e CATTLE_AGENT_IP="192.168.200.128"  --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.11 http://192.168.200.128:8080/v1/scripts/2D26D925591E7F49BFBA:1546214400000:R1VFN39Ek5ZL09BIa9aP4KrGJ4

启动完成登陆查看

启动tomact服务

docker run --name tomcat -p 8080:8080 -v $ PWD / test :/ usr / local / tomcat / webapps / test - d tomcat 

将tomact目录挂载到本目录的/test文档下

 

使用脚本安装容器监控软件

 

安装完成后输入ip+端口进入界面等待一会

 

 

然后安装nginx作为反向代理和负载均衡器

因为这块我们需要部署到客户电脑所以说采用的是dockerfile打包

其Dockerfile如下:

 

其weiphp.cluby.cn.conf如下

 

php环境代码如下

其docker-compose如下

 

接下来准备监控部署

部署Prometheus + Grafana

采用rancher一键部署两个应用

部署zabbix

安装mysql-server

 

安装zabbix-server-mysql

 

安装zabbix-web-nginx-mysql

 

 

 

 

 

#!/bin/bash

 

# zabbix env

# 定义zabbix数据库的库名

export Z_database_name=zabbix

# 新增数据库的用户

export Z_database_user=zabbix

# 上述用户的密码

export Z_database_user_password=zabbix_pwd

# root用户的密码,建议建立好后改掉密码

export Z_database_root_password=root_pwd

# zabbix 网页的端口

export Z_port=80

export Z_name=MyZabbix

export Z_tz=Asia/Shanghai

 

 

 

# cat docker-compose.yml

version: "3"

services:

  mysql-server-for-z:

    image: mysql:5.7

    container_name: mysql-server-for-z

    environment:

      - MYSQL_DATABASE=${Z_database_name}

      - MYSQL_USER=${Z_database_user}

      - MYSQL_PASSWORD=${Z_database_user_password}

      - MYSQL_ROOT_PASSWORD=${Z_database_root_password}

    volumes:

      - "${PWD}/mysql:/var/lib/mysql"

 

  zabbix-server-mysql:

    image: zabbix/zabbix-server-mysql:latest

    container_name: zabbix-server-mysql

    environment:

      - DB_SERVER_HOST=mysql-server-for-z

      - MYSQL_DATABASE=${Z_database_name}

      - MYSQL_USER=${Z_database_user}

      - MYSQL_PASSWORD=${Z_database_user_password}

      - MYSQL_ROOT_PASSWORD=${Z_database_root_password}

    ports:

      - "10051:10051"

    links:

      - mysql-server-for-z:mysql

    depends_on:

      - mysql-server-for-z

  zabbix-web-nginx-mysql:

    image: zabbix/zabbix-web-nginx-mysql:latest

    container_name: zabbix-web-nginx-mysql

    environment:

      - DB_SERVER_HOST=mysql-server-for-z

      - MYSQL_DATABASE=${Z_database_name}

      - MYSQL_USER=${Z_database_user}

      - MYSQL_PASSWORD=${Z_database_user_password}

      - MYSQL_ROOT_PASSWORD=${Z_database_root_password}

      - ZBX_SERVER_NAME=${Z_name}

      - TZ=${Z_tz}

    ports:

      - "${Z_port}:80"

    links:

      - mysql-server-for-z:mysql

      - zabbix-server-mysql:zabbix-server

    depends_on:

      - zabbix-server-mysql  

 

 

docker日志清理脚本

docker全自动安装脚本

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值