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

openwrt编译Dockerfile

一、Dockerfile

FROM ubuntu:20.04ENV TZ=Asia/ShanghaiRUN apt-get update && \apt-get install -y --no-install-recommends tzdata && \ln -fs /usr/share/zoneinfo/$TZ /etc/localtime && \dpkg-reconfigure --frontend noninteractive tzdata && \apt-get install -y --no-install-recommends \ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev libgmp3-dev \libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev libreadline-dev \libssl-dev libtool lrzsz mkisofs msmtp ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 \python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-tools subversion swig texinfo \uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev sudo && \apt-get clean && \rm -rf /var/lib/apt/lists/*# RUN groupadd -r openwrt && useradd -r -g openwrt -m -d /home/openwrt openwrt# RUN chown -R openwrt:openwrt /home/openwrt# 创建非root用户并设置密码
ARG USERNAME=openwrt
ARG PASSWORD=1
RUN useradd  -m -s /bin/bash $USERNAME \&& echo "$USERNAME:$PASSWORD" | chpasswd \&& usermod -aG sudo $USERNAME# 设置root用户密码
ARG ROOT_PASSWORD=1
RUN echo "root:$ROOT_PASSWORD" | chpasswdRUN echo "alias ls='ls --color=auto'" >> /etc/bash.bashrc \&& echo "PS1='\[\e[32m\]\u@\h:\w$\[\e[m\] '" >> /etc/bash.bashrcUSER $USERNAME
WORKDIR /home/$USERNAMEENV FORCE_UNSAFE_CONFIGURE=1CMD ["/bin/bash"]

二、Build

docker build -t openwrt_compile:1.0.0 .

三、Run

docker run -ti --name "led" -v $(pwd):/home/openwrt  openwrt_compile:1.0.0

相关文章:

openwrt编译Dockerfile

一、Dockerfile FROM ubuntu:20.04ENV TZAsia/ShanghaiRUN apt-get update && \apt-get install -y --no-install-recommends tzdata && \ln -fs /usr/share/zoneinfo/$TZ /etc/localtime && \dpkg-reconfigure --frontend noninteractive tzdata &am…...

【C语言】分支与循环(循环篇)——结尾猜数字游戏实现

前言 C语言是一种结构化的计算机语言,这里指的通常是顺序结构、选择结构、循环结构,掌握这三种结构之后我们就可以解决大多数问题。 分支结构可以使用if、switch来实现,而循环可以使用for、while、do while来实现。 1. while循环 C语言中…...

【数据结构】链表篇

文章目录 1.链表的概念以及结构2.链表的分类2.1 单向或者双向2.2 带头或者不带头2.3 循环或者不循环2.4 无头单向非循环链表和带头双向循环链表 3.单链表的实现3.1 准备工作3.2 节点的创建3.3 单链表的释放3.4 打印链表3.5 单链表的尾插3.6 单链表的尾删3.7 单链表头删3.8 单链…...

Python SciPy介绍

在数据科学和工程领域,Python已经成为了一个不可或缺的工具,这主要得益于其强大的库和框架支持。其中,SciPy库作为Python科学计算的核心库之一,为研究人员、工程师和数据分析师提供了大量高效的算法和数学工具。本文将带您深入了解…...

docker镜像源

1、直接在服务器上创建这个文件,将镜像源配置在里面 /etc/docker/daemon.json {"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https://dockerproxy.com&qu…...

【clion】clion打开文件目录卡死问题

巨卡,几乎无法打开,据说是fsnotifier64.exe 被限制了。删除 火绒就好了。 关闭windows defender 官方:关闭 Windows 安全中心中的Defender 防病毒保护 此时,删除火绒: 界面变这样了:...

[CR]厚云填补_GridFormer

GridFormer: Residual Dense Transformer with Grid Structure for Image Restoration in Adverse Weather Conditions Abstract 恶劣天气条件下的图像恢复是计算机视觉中的一个难点。在本文中,我们提出了一种新的基于变压器的框架GridFormer,它可以作为…...

PostgreSQL数据库内核(二):通过initdb传递guc参数

目录 增加guc参数 initdb参数传递 pg_ctl参数传递 参数验证 新增guc参数pg_test_parameter,支持从initdb和pg_ctl命令中传递/覆盖参数,使用场景是TDE透明加密指定算法或者某些定制化需求。 增加guc参数 pg源码是这样描述guc参数的:它是全局…...

rust常用的宏使用记录(九)

matches! 宏使用 matches! 是 Rust 标准库中一个非常有用的宏,它允许你方便地匹配一个表达式的结果是否符合某个模式。它的基本用法如下:matches!(expression, pattern) 这个宏返回一个布尔值,如果 expression 匹配 pattern,则返回…...

【Python机器学习】支持向量机——手写数字识别问题

基于SVM的数字识别步骤: 1、收集数据:提供的文本文件 2、准备数据:基于二值图像构造向量 3、分析数据:对图像向量进行目测 4、训练算法:采用两种不同的核函数,并对径向基核函数采用不同的设置来运行SMO算法…...

学习笔记-Cookie、Session、JWT

目录 一、验证码的生成与校验 1. 创建生成验证码的工具类 2. 写一个 Controller 3. 实现验证码验证 1. 获取验证码 2. 验证码请求过程 3. 验证码的校验 4. 原理说明 5. 验证 6. 总结 二、JWT登录鉴权 1. 为什么要做登录鉴权? 2. 什么是 JWT 3. JWT相比…...

题海战术,面试必胜秘诀

目录 1.Java 的优势是什么?2.什么是 Java 的多态特性?3.Java 中的参数传递是按值还是按引用?4.为什么 Java 不支持多重继承?5.什么是 Java 中的不可变类?总结 题目 来自面试鸭刷题神器 1.Java 的优势是什么? Java 的跨平台性、垃圾回收机制以及其强…...

设计模式详解(十九)——命令模式

命令模式简介 命令模式定义 命令模式(Command Pattern)是一种在面向对象程序设计中常用的行为型设计模式。命令模式的核心思想在于将请求封装成一个对象,从而使发出请求的责任和执行请求的责任分割开。它可以让请求发送者和请求接收者之间消…...

实战:MySQL数据同步神器之Canal

1.概叙 场景一:数据增量实时同步 项目中业务数据量比较大,每类业务表都达到千万级别,虽然做了分库分表,每张表数据控制在300W以下,但是效率还是达不到要求,为了提高查询效率,打算使用ES进行数…...

5.6软件工程-运维

运维 系统转换系统维护系统评价练习题 系统转换 新老系统的转换 系统转换是指:新系统开发完毕,投入运行,取代现有系统的过程,需要考虑多方面的问题,以实现与老系统的交接,有一下三种转换计划: …...

在JavaScript中如何确保构造函数只被new调用

构造函数是一个特殊的函数,用于初始化一个新创建的对象。它是在创建对象时自动调用的。构造函数通常用于为对象的属性赋值,或者执行其他必要的设置。 使用函数名大写字母开头,这是一种命名约定,用于区分构造函数和普通函数。如何…...

【数据结构算法经典题目刨析(c语言)】反转链表(图文详解)

💓 博客主页:C-SDN花园GGbond ⏩ 文章专栏:数据结构经典题目刨析(c语言) 目录 一、题目描述 二、思路分析 三、代码实现 一、题目描述: 二、思路分析 : 通过三个指针n1,n2,n3来实现链表的反转 1.首先初始化 n1为…...

机器学习之争:Python vs R,谁更胜一筹?

一、引言 随着人工智能和大数据的迅速发展,机器学习已成为现代科技的重要组成部分。在医疗、金融、零售、制造等多个领域,机器学习技术的应用无处不在。从数据分析到预测建模,再到深度学习,机器学习正在改变我们的工作和生活方式…...

Vulnhub靶机:JANGOW_ 1.0.1

目录 前言: 一、安装虚拟机Jangow:1.0.1靶机 二、Web部分 前言: 难度:简单,本文使用VirtualBox打开,下载地址: https://download.vulnhub.com/jangow/jangow-01-1.0.1.ova 一、安装虚拟机J…...

Python脚本实现USB自动复制文件

USB驱动器作为常见的数据存储设备,经常用于数据传输和备份。 然而,我们在手动处理文件复制可能效率低下且容易出错。 因此,我们可以利用Python编写脚本来自动化这一过程,提高效率和数据安全性。 准备工作 首先,我们需…...

PyTorch网络可视化利器:PlotNeuralNet从入门到实战

1. PlotNeuralNet:让神经网络结构一目了然的神器 第一次看到PlotNeuralNet生成的网络结构图时,我正为论文插图发愁。那些用PPT手绘的粗糙框图在学术会议上显得格格不入,直到发现这个能将代码直接转化为出版级矢量图的工具。PlotNeuralNet本质…...

10大好用saas平台盘点!带你快速对比主流saas平台功能优缺点

2026年,企业数字化转型已经不再是“选做题”,而是关乎生存的“必做题”。面对市场上成百上千款软件,如何找到真正好用saas平台成了不少企业管理者头疼的问题。一款优秀的saas平台,不仅要能解决实际业务中的“堵点”,更…...

WSL2新手必看:VcXsrv配置xfce4图形界面的5个常见错误及解决方法

WSL2图形化实战:避开VcXsrv与xfce4配置的五大深坑 第一次在WSL2中看到xfce4桌面环境成功加载时的兴奋,很快被接踵而至的报错信息冲淡——这可能是许多开发者的真实写照。作为连接Windows与Linux生态的桥梁,WSL2的图形界面配置过程中暗藏着不…...

RexUniNLU零样本NLU实操手册:ABSA属性情感联合抽取代码实例

RexUniNLU零样本NLU实操手册:ABSA属性情感联合抽取代码实例 1. 引言:当AI能读懂你的“言外之意” 想象一下,你是一家电商公司的产品经理,每天要面对成千上万条用户评论。比如这条:“手机拍照效果很棒,但电…...

C# NuGet包离线部署实战:从下载到无网环境集成

1. 为什么需要NuGet包离线部署? 在企业开发环境中,我们经常会遇到一些特殊场景:比如内网开发机无法连接外网、CI/CD流水线需要完全隔离、或者某些安全敏感项目要求断绝外部依赖。这时候传统的NuGet在线安装方式就完全失效了。我去年参与的一…...

一键部署清音刻墨Qwen3,体验毫秒级精准字幕对齐技术

一键部署清音刻墨Qwen3,体验毫秒级精准字幕对齐技术 1. 为什么需要精准字幕对齐技术 在视频制作和内容创作领域,字幕同步问题一直是个令人头疼的挑战。传统字幕制作流程通常需要: 人工反复听写音频内容手动标记每个句子的起止时间不断调整…...

HC-SR501红外人体传感器原理与ESP32-S3驱动开发

1. 人体红外传感器技术解析与ESP32-S3平台驱动实现热释电红外(PIR)传感器是嵌入式系统中应用最广泛的环境感知器件之一,其无需主动发射能量、功耗极低、结构简单且可靠性高,在自动照明、安防监控、智能交互等场景中承担着“环境状…...

CosyVoice在互联网产品中的应用:用户生成内容(UGC)的语音化呈现

CosyVoice在互联网产品中的应用:用户生成内容(UGC)的语音化呈现 不知道你有没有这样的体验:在地铁上、开车时,或者做家务的时候,看到一篇特别有意思的旅游攻略或者产品评测,文字很长&#xff0…...

风速传感器校准实战:用四阶多项式拟合搞定非线性关系(附MATLAB代码)

风速传感器校准实战:四阶多项式拟合的工程化实现 在工业测量领域,风速传感器的非线性校准一直是工程师面临的典型挑战。传统线性校准方法往往难以满足高精度测量需求,而四阶多项式拟合凭借其出色的非线性逼近能力,成为解决这一问题…...

PrimeNG实战:5个企业级Angular后台必备的UI组件配置技巧

PrimeNG实战:5个企业级Angular后台必备的UI组件配置技巧 在企业级Angular应用开发中,PrimeNG作为一套成熟的UI组件库,其丰富的功能组件和高度可定制性为开发者提供了强大支持。本文将聚焦五个关键组件的实战配置技巧,帮助开发者解…...