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编写脚本来自动化这一过程,提高效率和数据安全性。 准备工作 首先,我们需…...
Rust 性能优化的三个方向
Rust 性能优化的三个方向 Rust 以其高效、安全和并发能力著称,但即使如此,性能优化仍然是开发者需要关注的重点。Rust 的性能优化主要围绕三个方向展开:减少内存分配、提高代码执行效率以及利用并发优势。这三个方向相辅相成,能够…...
如何永久保存微信聊天记录:WeChatMsg让你的数字记忆永不丢失
如何永久保存微信聊天记录:WeChatMsg让你的数字记忆永不丢失 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we…...
Android蓝牙开发冷知识:为什么`device.connectGatt(context, callback)`有时比指定传输类型更靠谱?
Android蓝牙开发冷知识:为什么device.connectGatt(context, callback)有时比指定传输类型更靠谱? 在Android蓝牙开发中,BluetoothDevice.connectGatt()方法看似简单,实则暗藏玄机。许多开发者习惯性地认为,明确指定传输…...
终极指南:如何彻底卸载Windows自带的Microsoft Edge浏览器
终极指南:如何彻底卸载Windows自带的Microsoft Edge浏览器 【免费下载链接】EdgeRemover A PowerShell script that correctly uninstalls or reinstalls Microsoft Edge on Windows 10 & 11. 项目地址: https://gitcode.com/gh_mirrors/ed/EdgeRemover …...
掌握N_m3u8DL-RE:跨平台流媒体下载的5大实战技巧
掌握N_m3u8DL-RE:跨平台流媒体下载的5大实战技巧 【免费下载链接】N_m3u8DL-RE Cross-Platform, modern and powerful stream downloader for MPD/M3U8/ISM. English/简体中文/繁體中文. 项目地址: https://gitcode.com/GitHub_Trending/nm3/N_m3u8DL-RE 在…...
real-anime-z在跨媒体叙事中的应用:小说文本→角色图→分镜图→动态预告片链路
real-anime-z在跨媒体叙事中的应用:小说文本→角色图→分镜图→动态预告片链路 1. 跨媒体叙事的新工具 在内容创作领域,跨媒体叙事正变得越来越重要。从小说文本到视觉呈现,再到动态视频的完整创作链路,能够帮助创作者将想法快速…...
ZYNQ实战:手把手教你用LWIP实现UDP文件传输到DDR(附完整代码)
ZYNQ LWIP UDP文件传输实战:从协议栈配置到DDR存储的完整实现 在嵌入式系统开发中,网络通信功能已成为现代SoC设计的标配能力。Xilinx ZYNQ系列凭借其ARM处理器与可编程逻辑的完美结合,为开发者提供了灵活高效的网络通信解决方案。本文将深入…...
拆解特斯拉Model 3和问界M5的BMS主从控板:从TI AFE芯片到英飞凌MCU的硬件选型实战
特斯拉Model 3与问界M5 BMS硬件架构深度解析:芯片选型与工程实践 当电动汽车的续航里程从400公里突破到600公里时,消费者很少意识到这背后电池管理系统(BMS)硬件设计的革命性进步。作为电池包的"大脑",BMS主…...
别再到处找了!GWAS数据下载保姆级指南:从IEU、FinnGen到UK Biobank一站搞定
GWAS数据获取实战手册:从零开始掌握五大核心数据库 在生物信息学研究中,全基因组关联分析(GWAS)数据的重要性不言而喻。然而,面对众多数据库平台,许多研究者常常陷入"数据海洋"中不知所措——该从哪里获取数据…...
天猫图片搜索API:通过图片地址获取天猫相似商品
下面给你一份可直接用于开发、解析、入库的天猫图片搜索API 完整解析,包含标准返回结构、关键字段、解析要点、常见坑。即拍立淘 API,核心接口为taobao.item.search.img(也常写作item_search_img)。此 API 支持直接传入图片 URL或…...
