- 工信部备案号 滇ICP备05000110号-1
- 滇公安备案 滇53010302000111
- 增值电信业务经营许可证 B1.B2-20181647、滇B1.B2-20190004
- 云南互联网协会理事单位
- 安全联盟认证网站身份V标记
- 域名注册服务机构许可:滇D3-20230001
- 代理域名注册服务机构:新网数码
如何恢复到默认的 DNS 服务器设置? DNS异常的常见原因及解决方案 如何使用Xshell部署项目? 运维工程师必备8个高效工具,极大提高工作效率 哪个短信群发平台好? chrome浏览器插件SwitchyOmega的安装(离线安装) Linux centos7上安装tcpping Windows创建共享文件夹 DDOS攻击的危害及防御方法有哪些? 关于企业上云需要知道的问题有哪些? 为什么要选择高防服务器? 中小企业为什么选择云服务器? 企业为什么上云? 影响云服务器价格的因素有哪些? 为什么选择海外云服务器? 企业该如何选择云服务器的配置? 关于域名注册需要知道的问题有哪些? GPON与EPON的区别 服务降级的设计与实践 微服务端到灰度布发布的探究 微服务化后,需要注意的几点 企业数字化转型的方式 MPLS概述 IS-IS概述 SBIDIOT IoT恶意软件分析 一种面向大数据主动防御的低损耗数据采集方法 简单网络管理协议SNMP Multipoint BFD(M-BFD) 双向转发检测BFD 基于大数据的工控网络安全分析 爆发式流量所带来的安全问题,需要在边缘解决 三层交换技术 二层交换技术 战术环境下节点安全性评估方案 基于机器学习的Web应用入侵威胁检测 小程序的优势及存在的价值 一个完整的网站,由五大部分构成(建站基础篇) 网站建设的市场分析 当下流行建站类型 你所需要了解的外贸建站常识 模版建站与定制开发网站的区别 建站的支出费用如何 化工行业网站建设怎么做? 关于网站建设、小程序制作行业情况 对于企业来说,高端建站和模板建站有什么区别? 建站有哪些需要注意的地方。 餐饮小程序开发 网站备案方法目的耗时 定制网站对于企业有什么好处 大数据:多大的数据才有用 短信群发服务如何避免成为垃圾短信 不租用服务器可以做网站域名备案吗? 网站搭建分为哪些步骤? 注册域名最关键的是? 域名注册和备案的注意事项 企业如何正确选择注册官网域名 ? 众创时代,域名注册都不会那你就OUT了 银行怎样短信营销 为什么营销短信的效果这么差? 【干货】如何编写一条优质的营销短信? 双十一流量引爆—短信营销
浅谈工业信息安全防护现状及发展前景 针对工控的勒索软件Cring样本分析 基于区块链的工业互联网安全方法 工业互联网安全防护措施 工业互联网安全漏洞态势分析(2020年) 工业互联网与智能制造是啥关系? 为什么要做工业互联网平台? 互联网产品的信息架构 互联网思维的核心
区块链的潜在用途—数据完整性保护及减少信息决策单点故障 区块链的价值 区块链助力智能制造 区块链与分布式制造 企业布局区块链的战略思考 基于区块链边缘计算下的多维资源管理系统 怎么识别区块链骗局? 区块链和诈骗 区块链几大趋势 区块链小专题 区块链助力构建数据要素市场 区块链目前存在的挑战 区块链技术原理
工业物联网的兴起以及如何降低风险 物联网在物流领域的应用 工业物联网在能源化工领域的应用 工业物联网的体系架构 工业物联网在3C制造领域的应用 工业物联网及工业大数据安全探讨 区块链与物联网的融合 物联网应用技术 物联网对人类生活方式的影响 物联网的低谷与崛起 物联网初见 基于物权的物联网世界 5G+物联网 物联网工程师需要具备哪些技能?
到底什么是数字化转型? 区块链+5G的融合 浅谈工业大数据 “新基建”政策中智能建造的商机 详谈5G新基建 新基建(大数据、云计算、人工智能、区块链、物联网)会带给我们什么机遇?
5G新漏洞!用户隐私不再安全 5G技术 5G物联网好戏上场! 5G通信系统及关键技术 5G技术科普知识分享 5G技术将改变执法领域?
C语言微服务在OpenShift上的部署 VxLAN技术基础 基于next.js的服务端渲染解决方案 详谈Java集合框架 Mybatis工作流程及其原理 流式遥测(StreamTelemetry)技术介绍 从源码分析微服务网关的设计 从代码分析事务消息&消息延时 前端工程师必备知识 微信小程序开发的魅力在哪里? 为什么要开发小程序 开发小程序APP需要避免的坑 小程序开发 何时该采用LVOOP技术开发应用程序
架构设计-异常处理 架构思维之复用 区块链的技术模型架构 架构设计方法论 架构如何落地------四有效管理业务需求 架构如何落地-----三实行目标管理 架构如何落地-----二数字化转型架构实施方法 架构如何落地------一从制定实施路径开始 区块链基础架构之数据层(中) 区块链基础架构之数据层(上) 构架设计与拆分的哲学 什么是Web应用架构 软件架构模式 架构之高性能 架构设计六小原则 架构方法:运用合适的工具表达设计 云计算时代银行传统IT架构及管理方式的变革之路 【云计算】什么是Leaf-Spine(fabric)架构? 云架构的基本层次 民航机场云架构环境下的网络安全研究 云时代如何搭建HA服务架构
一文搞懂IT运维是什么? 运维是IT行业中技术含量最低的? ecshop网站管理员密码忘记怎么办 vmware esxi6.7 忘记root密码,重置密码 VMware虚拟机安装VMware ESXi 6.7 Linux Python包管理工具pip更换国内源 Linux登录ssh携带密码 10 个你必须掌握的超酷 VI 命令技巧 windows任务栏透明 宝塔面板安装SSL检查提示缺少中间证书处理办法 Linux的进程管理,process linux下常用的日志分析命令 Linux系统修改DNS 怎么让自己的网站更安全? Linux怎么安装宝塔面板 基于自动化运维工具SaltStack、Ansible、Puppet等运维中的难点解析 IT部门的价值在哪里? IT运维自动化解析 从传统IT运维到IT服务管理 IT运维的风险在哪里? 运维篇-存储基本知识梳理 运维篇-快照基础 自动化运维实践 | Ansible介绍 Linux运维工程师所需技能
红蓝对抗-防守溯源的基本思路 渗透测试操作全流程分享 一文把DDoS攻击的防御策略说清楚了 一文说清内网HTTPS服务访问缓慢的原因和解决办法 僵尸网络是指什么? DeepSeek 遭网络攻击,什么是僵尸网络? 勒索病毒应急流程分享 勒索病毒数据恢复 云南昆明企业中了勒索病毒,如何进行应急处理? 云南安全运维服务流程 安全运维服务方案 2024年国内发生的网络安全事件都是什么类型? 2024多家企业未履行网络安全保护和数据安全管理义务被罚 安全运维服务内容 三大网络攻击途径,危害大防御难 常见网络攻击分享 保障linux服务器安全的一些策略分享 安全运维高手必须掌握的20个网络安全知识点 怎么开展网络安全攻防演练? 如何彻底解决 DNS 劫持污染? Centos7使用Docker搭建Hfish蜜罐 Web安全之同源与跨域 浅谈Android App漏洞 将Python远控隐藏在文档图片中的行动分析 DDoS攻击技术分析与防御 网络安全动态防护,实现从“人防”到“技防” 为什么有的ssl证书会显示中文网站名称? 如果遇到以下情况,可能是您的服务器正在遭受DDos攻击? 堡垒机是干什么的?堡垒机和云堡垒机相比哪个更好呢? 我国ipv6普及率不足1%,如何加快我国ipv6部署 喊话大数据时代的企业用户:你们线上业务的网络信息真的安全吗?关注等保合规了吗? 数据库迁移上云,有哪些注意事项 哪些单位需要做等级保护测评? 防火墙有哪些分类?不同的防火墙对应的特点? 网站应对突发高并发带来的问题及解决方案 ssl证书无效怎么办? HTTP和HTTPS的联系 什么是云安全服务? 你还在用免费的ssl证书吗? Web应用防火墙的作用是什么? 说一说漏洞扫描 常见的ssl证书错误原因及解决方法 专业防御大流量DDoS攻击 新手的福音!IPv6的新手指南 网络安全与信息安全浅析 渗透测试之信息收集 渗透测试服务 等保合规安全解决方案 北美市场可用 IPv4 地址耗尽!IPv6 接棒靠谱吗? Windows安全加固 WEB应用防火墙waf IPV6就能解决物联网的地址问题吗? IPv6:让每一粒沙子都拥有IP地址 IPv6 改造方案分析 关于ipv6的那些事 ssl证书有哪几种类型? 云安全服务是什么? 租用高防服务器暴露真实IP会有什么后果! 网络安全设备之“防火墙” 网络安全加固的必要性 什么是Web应用防火墙 什么是 Web 应用程序防火墙 (WAF)? 浅谈WAF应用防火墙部署 高防IP是什么?有什么作用呢 高防ip和高防服务器的区别是什么 防火墙安全技术要求和测试评价方法 从WEB应用防火墙hihttps谈机器学习之自主对抗 Redis安全加固 centos系统安全加固的一些建议设置 什么是云堡垒机 web应用防火墙 ipv6真的要来了 IPv6入门笔记- 改造方案 服务器被攻击后怎么处理 ipv6轮到你大展身手了 漏洞检测的几种方法 网络安全等级保护基础知识 网络安全防护那些事儿 什么是Web应用防火墙? 什么是DDOS高防IP? 安全加固是是什么? 免费的ssl证书和付费的ssl证书有什么区别? 网络安全——SSL证书 SSL证书选择指南 电商为什么要安装SSL证书? SSL证书如何选择? 什么是ssl证书? 云环境下基于生灭过程的DDoS攻击抵御成本最小化 结合网络,描述一下DDoS基本攻击类型 关于DDoS攻击 网络信息安全等级保护测评方法分析 网站被木马恶意篡改了怎么办? 浅谈等级保护测评 中国抗DDoS市场全景图
云南物理服务器租用价格 云南服务器托管流程 哪家云南服务器托管服务好 哪家云南服务器托管优惠 云南服务器托管哪家好 云南服务器托管哪家便宜 Windows server利用MegaCli检查raid及硬盘状态 IDC选址逻辑:市场需求决定资产长期价值,产业政策决定短期供给
Linux服务器-运维故障排查问题 服务器访问变慢怎么排查? Linux系统常用命令用法详解 CentOS 安装日志 Centos 修改IP地址、网关、DNS 升级centos7内核版本 云南租用物理服务器多少钱一年 云南服务器托管服务 推荐短信群发平台 服务器托管云南哪家便宜 Linux dd命令详解 企业在Linux系统中的安全配置指南(下) 短信群发平台费用 云南服务器托管平台推荐 企业在Linux系统中的安全配置指南(上) 为什么Linux要使用Deb、RPM等安装包,而不是直接解压可运行? 服务器托管云南哪家好 短信群发平台推荐 运维常见系统问题和解决方案! Linux10个常见问题及解决方案 云南托管服务器推荐 云南租用物理服务器 如何防御DDOS的攻击? 如何使用Linux Screen 云南托管服务器价格 TFTP安装、配置与使用 群发短信平台价格 curl命令使用场景总结 云南托管服务器哪里便宜 群发短信平台怎么选择 玩转Linux安全机制之SELinux Linux服务器跑不满带宽必查的5个问题 云南物理服务器租用推荐 云南托管服务器选哪家 Linux新磁盘分区、格式化、挂载操作 Linux 常用命令 —— sort 文件内容排序 云南物理服务器租用平台 云南托管服务器 网站访问故障原因及解决方法 Linux从入门到进阶:常用命令全解析 哪家云南服务器托管便宜 云南云服务器租用哪家便宜? 掌握Linux文本处理利器:grep与sed全攻略 Linux离线安装MySQL数据库 哪家云南云服务器租用便宜 便宜的短信群发平台 快速解决Linux 系统下文件目录中文乱码 Linux实时网络带宽监控工具:iftop 便宜的云南云服务器 云南物理服务器租用提供商 Linux环境下删除海量文件的方式 Microsoft Access数据丢失问题及修复方法:全面解析与常见问题解答 云南服务器托管优势 短信群发平台效果 Linux Rsync安装 Nginx日志管理 推荐云南物理服务器租用 短信群发平台哪家好 Redis基础命令大全 Linux中的文件对比工具diffc、mp、patch 云南物理服务器租用哪家靠谱 群发短信平台 从入门到精通:lsof命令详解 Linux之sort跟练教程 云南云服务器租用价格 群发短信平台推荐 自动化定期清理日志文件的脚本 在 CentOS 系统中配置静态 IP 和 DHCP 等网络连接信息 哪家云南物理服务器租用好 云南云服务器选哪家? Linux系统如何禁用IPv6 Nginx配置正向代理详解 云南物理服务器租用怎么选 云南服务器托管哪家靠谱 Linux系统磁盘扩容全攻略 Linux之rsync远程同步文件 云南物理服务器租用选哪家 云南服务器托管哪家划算 简单介绍一下HTTP请求头与请求体 MySQL开启查询缓存 云南物理服务器租用哪家好 哪家云南服务器托管好 MySQL Undo Log日志最全详解 Linux性能排查命令: htop 从零开始学Docker系列 Docker 容器网络 网站打开很慢的原因及解决办法 怎么选云南服务器托管 云南物理服务器租用优势 HTTP八种请求方式 Linux ssh 命令 云南服务器托管平台 云南物理服务器租用多少钱 云南云服务器哪家稳定 云南云服务器怎么购买? 云南云服务器租用选哪家 MySQL日志文件——Binlog Puppet编程入门:掌握Puppet编码风格 30个TensorFlow技巧 免费云数据库领取 短信群发平台试用 Linux系统稳定性压力测试软件汇总 Linux流量分析工具nethogs,实时监控网络带宽 永久免费虚拟主机推荐 怎么安装ubuntu系统 如何刷新DNS缓存? 短信群发平台哪个便宜 网站访问慢的原因和排查思路 访问一个网站很慢,怎么排查和解决? 昆明云服务器哪家便宜 Ubuntu 上启用 IPv6 的步骤 MySQL 常用日志详解 免备案虚拟主机哪家好 在 Windows 环境安装、运行 Redis 数据库的方法 解决 docker pull 不到镜像的问题 宝塔Linux面板安装教程 免备案虚拟主机 Linux 命令使用指南:nmcli 命令 使用ZFile快速搭建私有云盘 哪家短信群发平台稳定 HTTP状态码解析:解决不兼容边界等式约束与下限问题 盘一盘Linux中的btop工具 云服务器和物理服务器相比有何区别?到底怎么选? 云南物理服务器租用 香港虚拟主机推荐 云南云服务器优惠活动 Linux运维系统常用命令 Ubuntu的常用命令 群发短信怎么操作 Linux - Ubuntu的防火墙操作 Linux终端实时查看各网口网络流量情况 群发短信收费标准 30个 Linux 高级命令 nmcli,一个神奇的 Linux 命令! 短信群发供应商 MySQL误删数据怎么办? DNS中毒攻击:如何防范与解决 虚拟主机搭建网站 好用的短信群发平台 什么是DNS缓存? Linux小技巧-使用ab命令做性能压测 Linux 命令使用指南:awk 命令 Linux CPU 压力测试 云服务器如何设置能更加安全? 短信推广平台推荐 Ubuntu安装docker教程 centos7停止维护后,怎么升级内核 短信群发平台哪个好用 如何在Docker中部署Node.js应用 浅谈MySQL8.0新特性 短信群发平台价格 Http状态码里面301、302的区别 常见web漏洞 HTTP响应-状态码 50个必会Linux命令 短信群发平台哪个好 短信群发平台哪家便宜 防火墙如何支持虚拟专用网络(VPN)连接? https到底把什么加密了? 比较便宜的短信群发平台 简单聊聊Linux内核 网络安全扫描工具——WebScanner 短信群发平台哪个比较好 分享提升linux服务器安全性的几个小技巧 云服务器的常规安全设置及基本安全策略 http协议状态码——实用干货 12 个 Linux 网络安全工具 Linux教程:深入理解Awk命令 My SQL表及其增删改查 短信群发平台哪里有 Linux 运维七大实用技能 短信群发平台怎么选 比较便宜的云南云服务器 MySQL数据类型介绍 Docker 容器和镜像其实很简单 4 款最受欢迎的静态网站生成器对比指南 等保2.0工具箱测评必备软件大盘点 云南云服务器哪个品牌好? 什么是HTTP状态码? Moonlight 局域网串流搭建教程 云南云服务器可以做什么 Linux系统时间设置指南 Linux系统中常用的关机和重启命令 哪家云南云服务器便宜 Linux发行版本的名称及区别 什么是docker?在嵌入式Linux开发中有哪些作用? 云南云主机租用 云南云服务器租赁推荐 Linux服务器上MySQL启动方式全解析 六大网络攻击威胁,你的防御体系能否抵御? 云南云服务器哪家便宜好用 10 款网络流量监控工具使用实例 IT运维常用的服务器监控工具 云南云服务器租用 云南云服务器去哪买? 云南云服务器租赁优势 106短信群发平台 云南云主机测评 云南云服务器租赁哪家好? 云南云服务器租赁价格 云南企业云服务器租赁 云南云服务器租赁 MySQL数据库备份指南 靠谱的短信群发平台 短信群发延迟是什么原因? 云南服务器托管哪家便宜 虚拟主机永久免费版 短信群发哪家好? 什么云南云服务器便宜? 适合学生的云主机 免费云南云服务器哪里领? 永久免费虚拟主机哪里有? 免费云南云服务器怎么找? 国密SSL证书去哪里签发? 哪里能领永久免费虚拟主机? 好用的永久免费虚拟主机推荐 永久免费虚拟主机领取 免费云虚拟主机应该怎么选? 免费云数据库有用吗? 推荐免费云南云主机 怎么找免费云南云服务器? 推荐免费云南云服务器 免费域名能拿来做什么 免费云数据库试用 云南云服务器租赁哪家好 云南云主机采购哪家好? 云南云主机多少钱? 免费域名注册有用吗? 免费域名哪里找? 如何获得免费云数据库? 免费云数据库哪家好? 免费MySQL云数据库 免费云数据库有哪些 云南云主机厂商哪家好? 云南云主机选择指南 最划算的云南云服务器:提升企业效率的明智选择 .cn域名9.9元一个,域名注册攻略免费分享! 如何进行域名转入转出? 云南云主机品牌 云南云主机收费标准 云南云主机费用 云南云主机多少钱 最划算的云南云主机 个人云南云服务器 企业云南云服务器 学生云南云服务器 云南云服务器品牌 根服务器有多重要?如果全球根服务器崩溃会怎么样? 云南云服务器推荐 云南云服务器供应商 云南云服务器厂商 云南云服务器公司 云南云服务器提供商 云南云服务器服务商 云南云主机价格 云南云主机试用 免费的云南云主机 哪家云南云主机优惠 哪家云南云主机安全 哪家云南云主机稳定 云南云主机购买 云南云主机比较 云南云主机怎么选 哪家云南云主机价格低 哪家云南云主机服务好 哪家云南云主机性价比高 云南云主机哪家好 云南云主机哪家便宜 云南云服务器收费标准 云南服务器托管提供商 云南服务器托管优点 云南服务器托管收费标准 云南云服务器费用 云南服务器托管费用 云南服务器托管带宽 云南云服务器多少钱 云南云服务器价格 云南服务器托管机房 哪家云南服务器托管价格低 云南服务器托管供应商 云南服务器托管厂商 云南服务器托管公司 云南服务器托管推荐 云南服务器托管多少钱 云南云服务器配置选择 云南服务器托管比较 云南服务器托管价格 云南服务器托管服务商 云南服务器托管怎么选 哪家云南服务器托管安全 云南云服务器购买 云南云服务器比较 云南云服务器试用 免费的云南云服务器 云南云服务器怎么选 哪家云南云服务器稳定 哪家云南云服务器安全 哪家云南云服务器价格低 哪家云南云服务器服务好 云南云服务器哪家好 云南云服务器哪家便宜 哪家云南云服务器优惠 哪家云南云服务器性价比高 云南云服务器哪家好? 云南服务器托管哪家好? 云南服务器托管选哪家 云服务器的配置要怎么选? 选购云服务器有哪些注意事项? 香港服务器建站的优势 推荐一些真正便宜的企业云服务器? 适合中小企业的云服务器 企业网站怎么选择云服务器? 企业使用云服务器的优势是什么? 昆明国家级互联网骨干直联点获批:省内流量不再绕转成都等地 什么是OSS?5分钟带你了解! 分布式计算 云计算+——赋能科技创新布局 云服务器1M带宽有多大,购买服务器时如何选择服务器带宽? 蓝队云双11活动,云服务器0.9折来袭 “.商标”域名,保护企业品牌利益不被侵犯! 网站打开速度慢的代价:超过3秒就会有57%的用户离开! 如何选择合适的对象存储? 如何低价购买云服务器? 虚拟主机的配置及原理 什么是高防云服务器?高防服务器的优势有哪些? 云服务器到期了怎么办? 域名备案需要准备什么? 使用云服务器的优势 云服务器和VPS服务器对比有哪些优势? 直播系统搭建为什么需要云服务器 手摸手带你玩转云服务器 海外高防云服务器的安全防护 云服务器和云盘的区别 云服务器有哪些维护技巧,你都知道多少? 三种云计算安全服务模式定义企业安全 迁移到云计算服务的五大理由 可能危害云服务器安全的因素有哪些? ssl证书过期了怎么办? 1H2G的云服务器能用来干什么? 云服务器小常识 MySQL体系架构 如何保护云服务器的安全? 什么是域名解析? 说说虚拟主机的配置及原理 域名为何要实名制,还要进行备案? 虚拟主机使用独立IP对网站有什么好处? 对象存储适用于哪些场景? 买一个好的云服务器需要多少钱? 服务器硬件基础知识 个人如何注册域名? 服务器托管和租用区别 服务器迷惑行为大赏 服务器采购要注意哪些事项? 服务器,你了解吗? 代理服务器,网关,网络协议,都什么鬼东西啊 如何为中小型企业购买更好的服务器硬件 从应用角度比较块存储、文件存储、对象存储 创业初期选择服务器租用/托管还是云主机? 云计算 变革 | 云桌面时代降临 云计算之概念和架构 云计算行业分析 云计算的发展到顶峰了吗? 大数据和云计算的发展前景如何判断 【云计算】什么是软件定义数据中心网络架构(SDDCN)? 云服务器主机公网ip和内网ip的区别 一级域名、二级域名、三级域名的区别? 服务器托管要注意什么? 云计算是一个怎样的存在? 什么是云计算? 云计算的基本概念 谈谈云计算 【云计算】什么是Leaf-Spine(fabric)架构? 中小企业如何选择云服务器? 什么是域名? 什么是对象存储?你看过就明白了 服务器托管中常见的机柜类型有哪些? 云计算如何帮助企业节省成本 通俗易懂解释什么是云计算 虚拟主机和云服务器有什么区别? 块存储、文件存储、对象存储的区别 域名注册要注意些什么? 个人站长怎样选择虚拟主机? 怎么选择云服务器的配置? 谈谈ipv6 租用云服务器的优势有哪些? 购买云服务器要注意几个陷阱 ipv4和ipv6的区别 服务器租用类型的选择 服务器崩溃的原因 服务器虚拟化?有什么优势? 服务器托管到数据中心机房有哪些优势? 云服务器是什么?有什么优势呢? 正确租用服务器的方法 防止服务器数据丢失的方法有哪些? 如何挑选出优质的云服务器运营商? 中小型公司选择云服务器的原因是什么? 服务器租用中CPU的型号是不是越高越好呢? 云计算给我们的生活带来了什么改变? 云服务器的特征有哪些? 关于服务器租用,你是否也有这几个疑问? 租用什么样的高防服务器适合我们的企业? 云主机速度慢竟然是这个原因! 防止服务器数据丢失的方法有哪些? 如何选择服务器租用和服务器托管? 服务器托管和租用区别 数据中心服务器托管怎么选靠谱的IDC服务商? 服务器租用,四大问题不容忽视 什么是服务器?服务器租用思路 IO性能分析 between 云主机 and 虚拟机 网站建设如何选用空间?云虚拟主机和虚拟主机的区别 对象存储 统一云对象存储平台关键技术路线选型对比 怎样选择靠谱的云服务供应商? 服务器托管的五大优势 云服务器的带宽怎么选择? 免备案服务器有什么优势? 两个角度为你解答什么是云服务器? CDN许可证怎么去申请和办理 戏说 - 块存储 文件存储 对象存储 智造“基石”—— 解码工业物联网、大数据与云计算,发力“新基建” 新基建浪潮下的国内云计算行业 香港服务器可以翻墙吗? 详解Docker负载均衡和服务发现 如何选择云南云主机
一、C应用的基础镜像
容器云上C很少,最大的原因是C语言是本地编译的。今天,我们分析一下如何在容器云上运行C应用。
容器云上C应用第一个需要考虑的点是基础镜像。红帽提供基于RHEL的轻量级容器镜像UBI,大小为几十M。
谈到这里,很多人会有一个朴素的疑问:如果开发环境是SUSE,那应用在上OpenShift的时候,使用红帽基于RHEL提供的镜像,运行是否完全一致?
解决这个问题不难,也就是说,对于C应用容器化时,我们使用比UBI更为基础的容器镜像,使用Alpine Linux。这样我们将C的编译和运行的环境,做到容器镜像里。
Alpine Linux是一个由社区开发的基于musl和BusyBox的Linux操作系统,该操作系统以安全为理念,面向x86路由器、防火墙、虚拟专用网、IP电话盒及服务器而设计。
我们查看Alpine Linux的版本和Linux Kernel。我们在写dockerfile的时候,就得选对应kernel版本的Alpine Linux。我们在后面的实验使用Alpine 3.12。
Alpine的基础层只有6MB的大小。Alpine使用BusyBox提供外壳程序,根据MUSL C库而不是glibc构建的。MUSL是一个最小的,符合POSIX的C标准库。Alpine镜像中有诸如cp和wget之类的命令可以正常工作。BusyBox有其自己的方式来执行系统设置任务,例如添加用户和组。
Glibc glibc = GNU C Library
是GNU项(GNU Project)目,所实现的C语言标准库(C standard library)。广泛存在于目前最常见的桌面和服务器中的GNU/Linux类的系统中,都是用的这套C语言标准库。它实现了常见的C库的函数,支持很多种系统平台,功能很全,但是也相对比较臃肿和庞大。如果出现漏洞也影响巨大,如 glibc 幽灵漏洞等。
Musl是一个轻量级的C标准库,设计作为GNU C library (glibc)、 uClibc或Android Bionic的替代用于嵌入式操作系统和移动设备。它遵循POSIX 2008规格和 C99 标准,采用MIT许可证授权,使用Musl的Linux发行版和项目包括sabotage,bootstrap-linux,LightCube OS等等。
我们知道构建容器涉及将某些依赖项导入到映像中。Alpine有自己的存储库和自己的安装命令(apk add)。
需要注意的是,Alpine存储库中的某些库是针对glibc构建的,因此使用apk add会导入大量其他二进制文件。但从源构建大多数依赖关系要比从存储库导入更容易。
二、C应用的测试程序
solunar_ws组件是基于REST的Web服务,可在指定日期提供特定城市的日出和日落时间并设置信息。使用以下形式的URL通过CURL调用它:
solunar_ws是用C实现的基于REST的Web服务的demo,容器的总大小约为10Mb。此10Mb包括操作系统层、应用程序二进制文件和相关性,以及(在此特定情况下)完整的世界时区数据库。即使在负载下,应用程序在容器中使用的RAM也不会超过几Mb。
solunar_ws组件只有两个重要的依赖项:libmicrohttpd和tzdata(全局时区数据库)。libmicrohttpd 是 GUN 下开源的一个小型的 HTTP 库,能够方便的嵌入到系统中。支持 HTTP 1.1 可以同时侦听多个端口,具有 select, poll, pthread, thread poo 等多种模式。tzdata软件包,全称time zone and daylight-saving time(DST) data,供各个Linux系统安装以读取Time Zone Database中数据。
三、Alpine使用注意事项
Alpine的核心应用程序都与MUSL链接,而不是glibc,并且Alpine默认不包含其他C库。对于我们中的那些在Linux开发中已经习惯于glibc扩展的人来说,使用MUSL会遇到一些问题。让我们仅举几个例子。首先,MUSL没有与glibc qsort_r()函数等效的函数,该函数用于对任意数据结构进行排序。老实说。其次,MUSL在实现某些功能方面存在一些无法解释的差距。例如,用于格式化时间数据的strftime()函数缺少glibc实现所具有的说明符。
如果您需要对微服务的HTTP通信进行加密,则需要决定是在OpenShift集群中还是仅在OpenShift集群中对HTTP通信进行加密。加密到群集的流量很简单,因为我们可以配置OpenShift路由进行边缘终止。在此配置中,OpenShift路由器与微服务之间的内部流量将为纯文本。
另一方面,如果即使在OpenShift集群中也要对流量进行加密,则需要为微服务提供自己的传输层安全性(TLS)支持。libmicrohttpd库支持TLS,但是要启用该支持,我们需要使用许多GNU TLS库的开发版本来构建它。当然,这些库也必须在运行时可用于容器。
此外,您需要提供服务器证书,并为客户的管理员提供一种获取该证书的方法。您可以在OpenShift机密或ConfigMap中提供证书,然后将其作为文件挂载到pod的文件系统中。这种技术相对普遍,与C一起使用与从Java或其他任何语言使用在原理上没有什么不同。
四、运行Alpine镜像
查容器镜像构建过程:
[root@helper c]# docker build -t davidwei/capp:1.0 .
镜像构建成功后,可以通过podman -it运行,则容器中会有一个交互式会话,可用于编辑和构建代码。当然生产上我们不会用这种方式在容器云上开发C应用,意义不大。本小节只是验证我们可以基于alpine去做镜像定制化。
五、编译并实现C应用的容器化
查看如下Dockerfile,我们将C应用的编译和容器化
1.第一阶段构建
基于Alpine 3.12这个base image下载libmicrohttpd的源代码并进行构建,然后对solunar_ws进行相同操作。这些来源来自不同的地方,但是它们都是以相同的方式编译的。在此示例中,请注意,在构建Web服务之前,我们必须先构建libmicrohttpd。那是因为Web服务依赖它。
本阶段镜像构建完以后,镜像大小约为210MB。
2.第二阶段构建
第二阶段从相同的Alpine 3.12基础层开始,仅安装运行时所需的软件包,即tzdata。然后,它从先前的版本中复制容器在运行时所需的两个文件:二进制solunar_ws和库libmicrohttpd.so.12。
我们查看镜像构建过程:
可以使用如下命令本地运行:
#docker run -d -p 8080:8080 davidwei/capp:1.0
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
87c1cf607a10 davidwei/capp:1.0 "/solunar_ws" 9 seconds ago Up 8 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp zealous_dhawan
六、在OpenShift上部署镜像
在OCP中,我们可以:
1.从dockerfile部署应用,自动生成deployment。
2.部署容器镜像,自动生成deployment
3.手工书写deployment,部署容器镜像。
如下图所示,基于dockerfile部署应用可以自动生成deployment和route,这是第一种方法:
如果C应用的源码发生了变更,那么在OpenShift中就再次直接从dockerfile部署。本文我做手工docker build主要是为了方便读者理解。
为了更好地控制,执行oc create创建dc和service,如下所示(推送镜像的步骤省略)。这是第三种方法:
为应用创路由,并通过浏览器访问应用:
http://www.landui.com_name/day/london/jun%2020
七、总结
从本文我们可以看出,在OpenShift上运行C应用是安全没问题的。但是,由于C无法像java那样实现外部构建(mvn),因此我们不建议让C应用参与到OpenShift的CI/CD中。我们在书写dockerfile的时候,需要以alpin Linux为基础镜像,把C应用编译和运行所依赖的环境都做到容器镜像中。
服务热线:
4006-75-4006(7*24小时在线)
总机直拨:
0871-63886388(工作日9:00-18:00)
售前咨询
售后咨询
备案咨询
电话
二维码
TOP