12.容器间的互联(--link 是单方向的!!!)

容器间的互联(–link 是单方向的!!!)

–link意思就是链接容器进行通信

用法:--link 容器名字:随意设置别名;例如:--link nginx:nginx
注释:同一个容器中,可以使用多个--link进行链接多个容器

启动容器,并且给容器起一个名字为nginx

docker run -d --name nginx nginx:latest

在这里插入图片描述

然后在启动一个容器并且链接到上一个容器的名字nginx,随意设置一个别名为nginx,同时进入容器中

docker run -it --link nginx:nginx centos6.9-ssh-nginx:v1 /bin/bash

查看自己的IP地址为172.17.0.3,由此可见,容器中的IP地址是docker自动给分配的IP地址
在这里插入图片描述

同时ping其他容器地址是通的,说明容器之间默认是互通的。
在这里插入图片描述

因为默认不知道容器的IP地址,可以通过ping 或者curl容器的名字ningx或者别名nginx,均可通的。
在这里插入图片描述

因为通过–link链接容器名字或者别名,都会被添加到hosts文件中。所以会保持容器通
在这里插入图片描述

我有重启启动一个容器,链接容器名字和设置别名,都解析到hosts文件中,所以容器名和别名均通
在这里插入图片描述

curl容器名字和别名均通
在这里插入图片描述

由于–link单方向,例如在一个架构中,如果要是启服务的话,优先从后向前进行启动服务,要不然容器找不到。所以先启动db和nfs,然后启动web服务,在启动lb,这样的一个流程;
在这里插入图片描述

演示docker启动容器搭建zabbix服务

需要上传docker-zabbix镜像包,不然从官方中pull太慢了,所以我这里就直接上传即可;
导入镜像操作,我这里是批量导入

for i in `ls *.gz`; do docker load -i  $i; done

在这里插入图片描述

成功导入镜像完成
在这里插入图片描述

使用docker运行zabbix-server

注释: 
-e:环境变量,则env
-t:分配一个终端
-d:放到后台
-p:端口映射
--name:容器起一个名字

docker执行zabbix服务命令如下

docker run --name mysql-server -t \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="root_pwd" \
      -d mysql:5.7 \
      --character-set-server=utf8 --collation-server=utf8_bin

docker run --name zabbix-java-gateway -t \
      -d zabbix/zabbix-java-gateway:latest

docker run --name zabbix-server-mysql -t \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="root_pwd" \
      -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
      --link mysql-server:mysql \
      --link zabbix-java-gateway:zabbix-java-gateway \
      -p 10051:10051 \
      -d zabbix/zabbix-server-mysql:latest

docker run --name zabbix-web-nginx-mysql -t \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="root_pwd" \
      --link mysql-server:mysql \
      --link zabbix-server-mysql:zabbix-server \
      -p 80:80 \
      -d zabbix/zabbix-web-nginx-mysql:latest

浏览器访问IP地址,显示zabbix界面
默认账号/密码:Admin/zabbix
在这里插入图片描述

添加一个监控主机

在192.168.111.13上传zabbix-agent包
在这里插入图片描述

安装agent包

rpm -ivh zabbix-agent-3.2.0-1.el7.x86_64.rpm

在这里插入图片描述

agent.conf配置文件中默认Server=127.0.0.1所以修改zabbix-server的IP地址:192.168.111.10
在这里插入图片描述

启动服务
在这里插入图片描述

zabbix-web界面创建监控主机
在这里插入图片描述

链接模板
在这里插入图片描述

显示监控主机为绿色,则监控成功;如果要是不绿,则需要重启docker容器对应的server即可
在这里插入图片描述

监控报警:微信报警,alpine
yum 安装zabbix好使

07-18
<think>我们正在讨论的是“hybrid”技术,但根据引用内容,这个词在不同上下文中有不同含义: 1. 引用[1]和[5]中的“Hybrid”指的是混合开发模式(通常指移动应用开发中混合使用Web技术和原生技术)。 2. 引用[3]中的“hybrid”指的是华为交换机接口的一种类型(网络技术)。 用户的问题没有明确指定领域,但根据用户上一次的问题(关于VLAN中的Trunk)以及引用[3]的出现,用户可能是在网络技术领域询问hybrid接口。然而,用户问题中引用的其他内容(如[1][2][4][5])涉及的是移动开发中的Hybrid技术。 因此,我们需要明确用户的问题意图。由于用户上一次的问题是关于VLAN的,且引用[3]明确提到了hybrid接口,同时用户本次问题要求“理解或搜索与'hybrid'相关的技术内容”,并询问“hybrid技术定义、使用场景、相关应用”,我们应同时涵盖两个主要方向: 1. 网络技术中的Hybrid接口(如华为交换机) 2. 移动应用开发中的Hybrid技术 但注意引用[1][2][5]都是关于移动开发Hybrid的,引用[3]是关于网络Hybrid接口的。所以回答应分为两部分。 由于引用内容有限,我们将结合已知知识进行回答。 ### 第一部分:网络技术中的Hybrid接口(基于引用[3]) **定义**: Hybrid接口是华为交换机上的一种端口类型,它既可以连接用户终端(如PC),也可以连接交换机或路由器。与Access和Trunk端口不同,Hybrid端口可以灵活地控制接收和发送哪些VLAN的帧,以及这些帧是否携带VLAN标签(Tag)[^3]。 **特点**: - 可以同时处理多个VLAN的流量。 - 可以自定义每个VLAN的帧在发送时是否携带标签(Tagged或Untagged)。 - 可以设置端口的默认VLAN(PVID),当收到不带标签的帧时,会将其归入该VLAN。 **配置示例(华为交换机)**: ```shell # 创建VLAN 10和20 [Huawei] vlan batch 10 20 # 进入接口视图 [Huawei] interface GigabitEthernet 0/0/1 # 设置端口类型为Hybrid [Huawei-GigabitEthernet0/0/1] port link-type hybrid # 设置端口的PVID(默认VLAN) [Huawei-GigabitEthernet0/0/1] port hybrid pvid vlan 10 # 设置该端口以Untagged方式发送VLAN 10的帧,以Tagged方式发送VLAN 20的帧 [Huawei-GigabitEthernet0/0/1] port hybrid untagged vlan 10 [Huawei-GigabitEthernet0/0/1] port hybrid tagged vlan 20 ``` **使用场景**: 1. **连接终端设备同时需要多VLAN访问** - 例如:IP电话和PC共用同一端口,IP电话需要属于VLAN 10(语音VLAN),PC需要属于VLAN 20(数据VLAN)。Hybrid端口可以分别以Untagged方式发送两个VLAN的帧,使两个设备都能正确接收各自VLAN的数据[^3]。 2. **灵活跨交换机VLAN互联** - 当交换机之需要传递部分VLAN带标签、部分不带标签时,Hybrid端口比Trunk更灵活。例如:SwitchA的VLAN 10需要以Untagged形式发送给SwitchB,而VLAN 20以Tagged形式发送。 ### 第二部分:移动应用开发中的Hybrid技术(基于引用[1][5]) **定义**: Hybrid App(混合应用)是一种介于Web应用和原生应用之的移动应用开发模式。它使用Web技术(HTML、CSS、JavaScript)开发核心功能,并封装在原生容器中,使其能够调用设备硬件功能和访问原生API[^1][^5]。 **核心实现原理**: - **WebView组件**:原生应用内置浏览器引擎(如Android的WebView、iOS的WKWebView),用于渲染Web页面。 - **JSBridge桥接**:通过JavaScript与原生代码通信,实现Web调用原生功能(如摄像头、GPS)[^5]。 **使用场景**: 1. **快速迭代的跨平台应用** - 需要同时支持iOS和Android,且业务逻辑频繁更新的场景(如电商、新闻类应用)[^1]。 2. **功能复用与热更新** - 核心功能用Web实现,可动态更新(绕过应用商店审核),非核心功能用原生实现以保证性能[^1][^5]。 3. **轻量级功能嵌入** - 在原生应用中嵌入Web页面(如活动页面、广告页),实现灵活的内容更新。 **应用实例(引用[5]的代码分析)**: ```html <!-- 通过JSBridge调用原生功能 --> <script> // 调用扫一扫 document.getElementById('btn1').addEventListener('click', function() { window.invoke.scan({}, function() {}); }); // 调用分享 document.getElementById('btn2').addEventListener('click', function() { window.invoke.share({ title: 'xxx', content: 'yyy' }, function(result) { if (result.error === 0) { alert('分享成功'); } else { alert(result.message); } }); }); </script> ``` - `window.invoke`是JSBridge暴露的原生接口,Web页面通过JavaScript直接调用设备功能[^5]。 **优势与挑战**: | **优势** | **挑战** | |------------------------------|------------------------------| | 跨平台开发,降低开发成本 | WebView性能低于原生组件 | | 支持热更新,快速响应业务需求 | 复杂动效实现困难 | | 复用Web开发生态和技能 | 原生功能调用存在延迟 | ### 总结 - **网络Hybrid接口**:提供灵活的VLAN标签处理能力,适用于复杂组网环境[^3]。 - **移动Hybrid技术**:平衡开发效率与性能,适用于快速迭代的跨平台应用[^1][^5]。 §§相关问题§§ 1. 华为Hybrid接口与Trunk接口在VLAN处理上有何区别? 2. Hybrid移动应用开发中如何优化WebView性能? 3. JSBridge通信机制的具体实现原理是什么?</think>### Hybrid技术详解:定义、使用场景与应用案例 Hybrid技术在不同领域有不同含义。根据引用内容,主要分为两类:**网络通信中的Hybrid接口技术**和**移动开发中的Hybrid应用模式**。以下是系统解析: --- #### 一、网络通信中的Hybrid接口技术 **定义**: Hybrid接口是交换机上的特殊端口类型(华为设备特有),兼具Access和Trunk端口特性,可**自主定义接收/发送哪些VLAN的帧**,并**灵活控制帧的标签处理方式**(携带或剥离标签)[^3]。 **核心特性**: 1. **多VLAN支持** - 可同时处理多个VLAN流量(类似Trunk),但能按需选择帧是否带标签。 - 示例:端口可配置为发送VLAN 10的帧不带标签(Untagged),VLAN 20的帧带标签(Tagged)。 2. **标签处理灵活性** - 接收帧时:可识别带标签/不带标签的帧,并根据配置映射到不同VLAN。 - 发送帧时:可指定某些VLAN剥离标签(如连接终端设备),某些保留标签(如连接交换机)。 3. **PVID(Port VLAN ID)** - 处理不带标签的帧时,将其归入PVID指定的VLAN[^3]。 **配置示例(华为交换机)**: ```shell # 创建VLAN [Huawei] vlan batch 10 20 # 进入接口视图 [Huawei] interface GigabitEthernet 0/0/1 # 设置Hybrid模式 [Huawei-GigabitEthernet0/0/1] port link-type hybrid # 配置PVID(默认VLAN) [Huawei-GigabitEthernet0/0/1] port hybrid pvid vlan 10 # 指定VLAN 10发送时不带标签,VLAN 20带标签 [Huawei-GigabitEthernet0/0/1] port hybrid untagged vlan 10 [Huawei-GigabitEthernet0/0/1] port hybrid tagged vlan 20 ``` **使用场景**: 1. **端口多业务隔离** - 场景:IP电话+PC共用同一端口 - 方案:语音流量(VLAN 10)以Untagged发送给IP电话,数据流量(VLAN 20)以Tagged发送给交换机。 2. **跨厂商设备互联** - 当连接非华为设备(仅支持Trunk/Access)时,Hybrid可兼容两端标签处理差异。 3. **灵活VLAN聚合** - 在核心交换机上聚合多个VLAN流量,同时控制标签的携带/剥离。 --- #### 二、移动开发中的Hybrid应用技术 **定义**: Hybrid App(混合应用)指**结合Web技术(HTML/CSS/JS)与原生容器**的开发模式,通过JSBridge实现Web与原生功能的互操作[^1][^5]。 **核心特性**: 1. **跨平台能力** - 一套Web代码可运行在iOS/Android/Web平台,减少开发成本。 2. **热更新机制** - Web模块可动态更新,无需应用商店审核(如活动页面迭代)[^1]。 3. **原生功能调用** - 通过JSBridge调用设备API(相机、GPS等),如引用[5]中的扫码功能: ```javascript // 调用原生扫一扫 window.invoke.scan({}, function() { /* 回调处理 */ }) ``` **典型架构**: ```mermaid graph LR A[Web界面] --JSBridge--> B(原生容器) B --> C[相机/GPS/文件系统] ``` **使用场景**: 1. **高频迭代业务** - 电商活动页、新闻资讯等需快速更新的内容[^1][^2]。 2. **中复杂度应用** - 阿里巴巴SARO平台:千级应用规模,日处理PB级数据,支持双十一流量[^2]。 3. **功能扩展性需求** - 在原生应用中嵌入Web模块(如分享功能): ```javascript window.invoke.share({title:'xxx', content:'yyy'}, function(result){ if(result.error===0) alert('分享成功'); }) ``` --- #### 三、两类Hybrid技术对比 | **维度** | 网络Hybrid接口 | 移动Hybrid应用 | |------------------|-----------------------------------|------------------------------| | **核心目标** | 灵活管理VLAN标签 | 融合Web与原生能力 | | **关键技术** | VLAN标签处理/PVID | JSBridge/WebView | | **典型应用** | 交换机端口配置 | 跨平台移动应用 | | **代表厂商** | 华为 | React Native/Flutter | --- #### 四、实际应用案例 1. **网络场景**(华为实验[^3]) - 拓扑:PC1(VLAN 10)← Hybrid端口 → Switch ← Trunk端口 → PC2(VLAN 20) - 关键配置:Hybrid端口对VLAN 10剥离标签,VLAN 20保留标签。 2. **移动场景**(引用[5]) - 功能:通过JSBridge调用扫一扫和分享 - 优势:H5页面快速迭代,原生功能稳定调用。 --- ### 总结 1. **网络Hybrid接口**:提供**VLAN标签的精细化控制**,解决复杂组网中的标签处理问题[^3]。 2. **移动Hybrid应用**:平衡**开发效率与原生体验**,适用于快速迭代的跨平台业务[^1][^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

愿听风成曲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值