当前位置: 首页 > wzjs >正文

网站开发待遇高吗分销商城功能

网站开发待遇高吗,分销商城功能,建设工程合同属于什么合同,赤壁网站设计文章目录 前言一、OpenWrt 与 Docker 的集成前提1.1 硬件与内核要求1.2 软件依赖 二、Docker 环境部署与验证2.1 基础服务配置2.2 存储驱动适配 三、容器化应用部署实践3.1 资源限制策略3.2 Docker Compose 适配 四、性能优化与监控4.1 容器资源监控4.2 镜像精简策略 五、典型问…

文章目录

    • 前言
    • 一、OpenWrt 与 Docker 的集成前提
      • 1.1 硬件与内核要求
      • 1.2 软件依赖
    • 二、Docker 环境部署与验证
      • 2.1 基础服务配置
      • 2.2 存储驱动适配
    • 三、容器化应用部署实践
      • 3.1 资源限制策略
      • 3.2 Docker Compose 适配
    • 四、性能优化与监控
      • 4.1 容器资源监控
      • 4.2 镜像精简策略
    • 五、典型问题解决方案
      • 5.1 端口冲突处理
      • 5.2 低性能设备适配
    • 六、内网穿透远程访问
      • 6.1 下载公钥
      • 6.2 将cpolar源添加至包管理器
      • 6.3 更新包管理器
      • 6.4 安装cpolar插件
      • 6.5 重启OpenWRT
      • 6.6 为OpenWRT Web管理界面配置公网地址
    • 总结
      • 附:硬件兼容性测试列表

前言

OpenWrt 作为一个高度可定制的嵌入式 Linux 发行版,其模块化设计为 Docker 容器化部署提供了可能性。

将 Docker 引入 OpenWrt 环境,能够带来以下优势:

  • 简化应用部署: 无需手动安装依赖和配置环境,只需使用 Docker 镜像即可快速部署应用。
  • 隔离性与安全性: Docker 容器提供应用隔离,避免应用之间的相互干扰和潜在安全风险。
  • 资源利用率提升: Docker 容器共享宿主机的内核,占用资源更少,能够充分利用 OpenWrt 设备的有限资源。
  • 可移植性与可扩展性: Docker 镜像可以在不同的 OpenWrt 设备之间轻松迁移和部署,方便扩展应用规模。
  • 版本控制与回滚: Docker 镜像具有版本控制功能,可以方便地回滚到之前的版本。

然而,受限于默认内核配置和硬件资源,在 OpenWrt 上运行 Docker 需解决内核功能支持存储架构适配两大核心问题。本文将基于技术实践,分享在 OpenWrt 设备上搭建 Docker 环境的完整方案,涵盖从内核编译到容器优化的全流程。

请添加图片描述


一、OpenWrt 与 Docker 的集成前提

1.1 硬件与内核要求

  • 硬件配置
    CPU 需支持硬件虚拟化(ARMv7+/x86_64),内存 ≥1GB,存储空间 ≥4GB(建议通过 USB 扩展存储)。
  • 内核编译
    OpenWrt 默认内核未启用 Docker 依赖的以下模块,需通过 make menuconfig 手动启用:
    # 必需内核选项
    CONFIG_CGROUPS=y          # 控制组资源隔离
    CONFIG_NAMESPACES=y       # 容器命名空间
    CONFIG_VETH=y             # 虚拟以太网设备
    CONFIG_BRIDGE=y           # 网桥支持
    CONFIG_OVERLAY_FS=y       # Overlay 文件系统
    

1.2 软件依赖

  • 第三方软件源
    OpenWrt 官方源不提供 Docker 软件包,需通过第三方源(如 istore)安装:
    # 添加 ARM 架构源示例
    echo "src/gz istore https://istore.linkease.com/repo/arm_cortex-a9" >> /etc/opkg/customfeeds.conf
    opkg update
    opkg install docker dockerd
    
  • 存储配置
    挂载可读写分区作为 Docker 数据目录:
    mkdir -p /mnt/docker
    mount /dev/sda1 /mnt/docker  # 假设 sda1 为扩展存储设备
    dockerd --data-root=/mnt/docker &
    

二、Docker 环境部署与验证

2.1 基础服务配置

# 启动 Docker 守护进程(指定存储路径)
/etc/init.d/docker start --data-root=/mnt/docker# 验证 Docker 安装
docker info | grep "Storage Driver"  # 应返回 overlay2

2.2 存储驱动适配

若使用 overlay2 驱动,需确保:

  1. 内核版本 ≥4.0
  2. 文件系统为 ext4/btrfs
  3. 执行 mount -t overlay overlay -o lowerdir=/mnt/docker,upperdir=/mnt/docker/diff,workdir=/mnt/docker/work /mnt/merged 测试挂载

三、容器化应用部署实践

3.1 资源限制策略

通过 cgroups 控制容器资源开销:

# 限制容器内存为 256MB,CPU 权重为 50%
docker run -d --name my_app \--memory=256m \--cpu-shares=512 \-p 8080:80 \nginx:alpine

3.2 Docker Compose 适配

OpenWrt 需手动安装 Python 环境:

opkg install python3 python3-pip
pip3 install docker-compose

编写 docker-compose.yml

version: "3.8"
services:web:image: nginx:alpineports:- "8080:80"deploy:resources:limits:cpus: "0.5"memory: 256M

四、性能优化与监控

4.1 容器资源监控

# 实时查看容器资源占用
docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"# 生成性能报告
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock \docker.io/docker/docker-bench-security

4.2 镜像精简策略

  • 使用多阶段构建(Multi-stage Build)
  • 选择 Alpine 基础镜像
  • 移除调试工具(如 curl/telnet

示例 Dockerfile:

FROM golang:1.18 AS builder
WORKDIR /app
COPY . .
RUN CGO_ENABLED=0 go build -o main .FROM alpine:3.15
COPY --from=builder /app/main /
CMD ["/main"]

五、典型问题解决方案

5.1 端口冲突处理

禁用 OpenWrt 默认占用的 80 端口服务:

/etc/init.d/uhttpd stop
/etc/init.d/uhttpd disable

5.2 低性能设备适配

  • 镜像构建:在 x86 主机交叉编译镜像后推送至仓库
  • 资源分配:使用 --cpuset-cpus 绑定特定 CPU 核心
  • 日志优化:限制容器日志大小防止存储溢出
    docker run --log-driver=json-file \--log-opt max-size=10m \--log-opt max-file=3
    

六、内网穿透远程访问

如果想实现出门在外,也能随时随地访问家中的OpenWRT软路由系统,但因为没有公网IP而无法实现。可以借助cpolar内网穿透工具来实现公网访问!接下来介绍一下如何安装cpolar内网穿透并实现公网访问!

首先需要在终端SSH连接OpenWRT系统,输入OpenWRT登录时的root账号密码password即可成功连接。

6.1 下载公钥

首先执行下方命令下载公钥:

wget -O cpolar-public.key http://openwrt.cpolar.com/releases/public.key

6.2 将cpolar源添加至包管理器

echo "src/gz cpolar_packages http://openwrt.cpolar.com/releases/packages/$(. /etc/openwrt_release ; echo $DISTRIB_ARCH)"  >>  /etc/opkg/customfeeds.conf

6.3 更新包管理器

opkg update

image-20240417113415168

6.4 安装cpolar插件

opkg install cpolar
opkg install luci-app-cpolar
opkg install luci-i18n-cpolar-zh-cn

image-20240417154604437

image-20240417154621079

image-20240417154643961

6.5 重启OpenWRT

reboot

然后可以看到OpenWRT重启,重启后重新登录OpenWRT后台,在左侧菜单的服务中就会出现cpolar服务,绑定token即可正常使用:

image-20240417121451765

6.6 为OpenWRT Web管理界面配置公网地址

首先,在OpenWRT管理界面左侧菜单中进入服务,选择cpolar内网穿透。

image-20240417155727891

然后,点击打开webui管理界面:http://localhost:9200,在跳转的浏览器网页中输入你注册的cpolar账号密码进行登录:

image-20240417155834051

登录后,点击左侧仪表盘的隧道管理——创建隧道,

创建一个 OpenWRT Web管理界面的公网http地址隧道

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复,本例中使用:openwrt
  • 协议:选择http
  • 本地地址:80
  • 域名类型:免费选择随机域名
  • 地区:选择China VIP

点击创建

image-20240417160315275

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,任选其一即可。

image-20240417160543521

使用Cpolar生成的公网地址,在手机或任意设备的浏览器进行登录访问,即可成功看到 OpenWRT Web管理界面,这样一个可以远程访问的公网地址就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可到公网访问本地内网的openwrt系统了!

ps:如果我们需要长期异地远程访问OpenWRT Web管理界面,由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道来远程访问,我们可以选择创建一个固定不变的公网地址来解决这个问题。

《使用cpolar为本地openwrt web管理界面配置固定公网地址》

总结

在 OpenWrt 上部署 Docker 需克服内核适配与资源限制两大挑战。通过自定义编译内核、扩展存储设备、限制容器资源,可在低功耗设备上实现轻量级容器化应用的稳定运行。建议优先部署无状态服务(如 HTTP API 代理),并严格监控资源使用情况。对于高负载场景,仍推荐使用 x86 架构设备作为生产环境载体。


附:硬件兼容性测试列表

设备型号CPU 架构内存Docker 运行状态
Raspberry Pi 4BARM Cortex-A724GB✔️ 稳定
GL-iNet MT1300ARM Cortex-A71GB⚠️ 需关闭 Swap
x86 工控机Intel Celeron8GB✔️ 最佳性能
http://www.dtcms.com/wzjs/538726.html

相关文章:

  • 在线观看永久免费网站网址wordpress点击弹窗插件
  • 怎么做 在线电影网站在手机上怎么做app软件
  • 做logo网站的公司网站目录怎么做的
  • 百度搜索不到任何网站wordpress vue主题
  • 顺德制作网站价格多少作风建设提升年活动网站
  • aspcms是网站什么漏洞中国建设银行报名网站
  • 合肥网站建站报广告代理南昌市做网站公司
  • 工业信息化部网站备案龙岩网页
  • 网站专题欣赏网站统计系统 怎么做
  • 潮阳网站制作正规网站备案代理
  • 万户网络做网站怎么样泉州外贸网站建设都有哪些公司
  • 铜陵网站建设如何提高网站速度
  • 网站服务器建设教程承接网站建设文案
  • 完成网站建设的心得体会wordpress 插件 迁移
  • 成品网站安装北京网站建设外包
  • 博业建站网电子商务微网站制作
  • 如何给网站刷流量西安网站建设的网站
  • 网站建设最低多少钱浙江广发建设有限公司网站
  • 做企划的网站世预赛韩国出线了吗
  • 热门网站有哪些高端网站建设公司名字
  • 平面设计素材免费网站有哪些宿松网站建设公司
  • 小说网站怎么做原创简单百度网址大全
  • 昆山网站建设兼职濉溪县最新通告今天
  • 网站建设费是广告费吗白头鹰网站一天可以做多少任务
  • 谎称在网站网站做维护在网站设计公司上班好吗
  • 可以网站可以做免费的文案广告语郑州证件制作
  • 安庆哪里做网站建设银行遵义分行网站
  • 晋江网站建设价格多少必要网站用什么做的
  • 想做网站的公司新产品上市推广策划方案模板
  • 企业做商城网站需要什么资质如何将域名指向网站