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

基于rootfs构建Docker镜像

1. 背景

在实际工作中,由于系统本身版本过低,在接受新项目时出现系统版本过低而无法开始工作的问题。

为了解决该问题,使用Docker构建基于ubuntu-18.04的Docker镜像,以解决版本兼容问题。

2. 构建rootfs

2.1. 下载ubuntu-18.04 rootfs

wget http://cdimage.ubuntu.com/ubuntu-base/releases/18.04.5/release/ubuntu-base-18.04.5-base-amd64.tar.gz

2.2. 构建rootfs

mkdir -p ubuntu-18.04.05
tar zxvf ubuntu-base-18.04.5-base-amd64.tar.gz -C ubuntu-18.04.05
chroot ubuntu-18.04.05

2.3. 完善rootfs

2.3.1. 设置rootfs环境变量

export USER=ubuntu-18.04
export HOST=ubuntu-18.04

2.3.2. 设置主机&DNS

echo $HOST > /etc/hostname
echo "127.0.0.1    localhost.localdomain localhost" > /etc/hosts
echo "127.0.0.1    $HOST" >> /etc/hosts
echo "nameserver 127.0.1.1" > /etc/resolv.conf

2.3.3. 安装依赖库

apt-get update
apt-get install -y vim git dropbear python build-essential \u-boot-tools device-tree-compiler libfdt-dev libc6-i386 \autoconf libtool pkg-config libncurses5 libncurses5-dev \bc libssl-dev wget python-pip flex bison \gcc-multilib cmake texinfo clang lrzszpip install --upgrade lxmlexit

3. 构建Docker image

3.1. 打包rootfs

cd ubuntu-18.04.05tar zcvf rootfs.tgz bin  boot  dev  etc  home  lib  lib32  lib64  libx32  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  varcd -

3.2. build镜像

3.2.1. 准备

mkdir -p docker-ubuntu-18.04-image
cd docker-ubuntu-18.04-image
mv ../ubuntu-18.04.05/rootfs.tgz .

3.2.2. 编写Dockerfile文件

FROM scratchADD rootfs.tgz /CMD [echo -e "Hello World!"]

3.2.3. 构建image

docker build -t ubuntu-18.04 .

3.3. docker images查看镜像

 3.4. 启动docker容器

docker run -it -v /myDir:/myDir ubuntu-18.04 /bin/bash

相关文章:

基于rootfs构建Docker镜像

1. 背景 在实际工作中,由于系统本身版本过低,在接受新项目时出现系统版本过低而无法开始工作的问题。 为了解决该问题,使用Docker构建基于ubuntu-18.04的Docker镜像,以解决版本兼容问题。 2. 构建rootfs 2.1. 下载ubuntu-18.0…...

电脑文件软件搬家迁移十大工具

10 大适用于 Windows 的数据迁移软件。 数据迁移至关重要,几乎所有组织都依赖于此。如果您认为数据传输不是一件容易的事,那么数据迁移软件可以帮上忙。 1、奇客电脑迁移 将现有操作系统、软件、文件迁移到 新电脑的最佳方法之一是使用名为奇客电脑迁移…...

【数据库】排名问题

返回第N高的一个解决思路返回N组中的第N高解决思路分数排名解决思路窗口函数数据库经常被用来解决排名问题。 返回第N高的一个 单表查询: 表: Employee------------------- | Column Name | Type | ------------------- | id | int | | salary | int | ----…...

【redis学习篇】主从哨兵集群架构详解

一、Redis主从架构 1.1 redis主从架构搭建 1、复制一份redis.conf文件 2、将相关配置修改为如下值: port 6380 pidfile /var/run/redis_6380.pid # 把pid进程号写入pidfile配置的文件 logfile "6380.log" dir /usr/local/redis-5.0.3/data/6380 # 指…...

基于jdk8的HashMap源码解析

hashMap常见面试题总览 为什么重写Equals还要重写HashCode方法?HashMap如何避免内存泄漏问题?HashMap1.7底层是如何实现的?HashMapKey为null存放在什么位置?HashMap如何解决Hash冲突问题?HashMap底层采用单链表还是双…...

深度学习J1周-ResNet50算法实战与解析_鸟类识别(CNN)

🍨 本文为[🔗365天深度学习训练营]内部限免文章(版权归 *K同学啊* 所有) 🍖 作者:[K同学啊] 本周任务: ●1.请根据本文 TensorFlow 代码(训练营内部阅读),编写…...

SpringBoot中一行代码解决字符串向枚举类型转换的问题

1. 场景 在WEB开发,客户端和服务端传输的数据中经常包含一些这样的字段:字段的值只包括几个固定的字符串。 这样的字段意味着我们需要在数据传输对象(Data Transfer Object, DTO)中对该字段进行校验以避免客户端传输的非法数据持…...

Praat之基频分析

Praat之基频分析 测量基频F0的方法 自相关 Autocorrelation(易出现pitch-halving\pitch-double)窄带谱图 Narrowband spectrogram(第一谐波就是基频)倒谱分析 Cepstral analysis测量声门波 glottal pluse(通过波形&a…...

乡村企业门户网站

技术:Java、JSP等摘要:随着时代的发展,电脑与Internet已经进入我们的生活。信息时代的来临,知识经济的扩张,网站已越来越靠近我们的生活。据CNNIC报告显示,中国上网用户有6800万。通过Internet来经营运作一…...

Deploy Workshop|DIY部署环境,让OceanBase跑起来

2023 年 3 月 25 日,我们将在北京开启首次 OceanBase 开发者大会,与开发者共同探讨单机分布式、云原生、HTAP 等数据库前沿趋势,分享全新的产品 Roadmap,交流场景探索和最佳实践,此外,OceanBase 开源技术全…...

【CPP】定义一个类

一:当实现一个类的时候,编译器都做了什么 前言:当我们实现一个类的时候,编译器为我们做了什么;在对类进行操作的时候,有哪些特殊的成员函数可以帮助我们更好的操纵类; class A {A();//默认构造…...

谷歌广告投放步骤流程是什么?一文带你全方位了解实操细节

谷歌,大家都不陌生吧,一个人们很常用的搜索引擎。而谷歌还可以打广告,即谷歌广告,那这跟跨境电商有什么关心呢?东哥告诉大家,关系大了去了,毕竟如果用户搜索与我们相关的关键词,就有…...

TypeScript 怎么去查找类型定义的?

TypeScript 怎么去查找类型定义的?类型文件分类第三方库的类型自定义类型结论类型文件分类 我们项目中的类型文件分为两种:一类是第三方库的类型,一类是在项目中的自定义类型。 第三方库的类型 (1)Jquery&#xff1…...

NPM包管理器

文章目录一、NPM包管理器1、简介2、安装NPM3、使用npm管理项目3.1项目初始化3.2修改npm镜像3.3 npm install命令的使用3.4其它命令一、NPM包管理器 1、简介 什么是NPM NPM全称Node Package Manager,是Node.js包管理工具,是全球最大的模块生态系统&…...

IT英语记录

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言1、Classification2、Logistic Regression3、网络相关3.1 WAN(Wide Area Network)、LAN(Local Area Network)网络…...

SRS4.0 源码分析- RTC模块相关类

前言 本文介绍SRS4.0涉及RTC模块的C类,主要包括RTC Server和Session相关的。 SrsGoApiRtcPlay 处理webrtc client的播放请求,解析client的offer,并且生成server的answer,并且为这次请求创建一个session。SrsRtcServer 监听udp端…...

数位DP

数位dp的题目一般会问&#xff0c;某个区间内&#xff0c;满足某种性质的数的个数。 利用前缀和&#xff0c;比如求区间[l,r]中的个数&#xff0c;转化成求[0,r]的个数 [0,l-1]的个数。利用树的结构来考虑&#xff08;按位分类讨论&#xff09; 1081. 度的数量 #include<…...

剑指offer(一)-链表

&#xff08;一&#xff09;找出链表的环的入口结点 JZ23 链表中环的入口结点 中等 通过率&#xff1a;36.78% 时间限制&#xff1a;1秒 空间限制&#xff1a;64M 知识点链表哈希双指针 描述 给一个长度为n链表&#xff0c;若其中包含环&#xff0c;请找出该链表的环的入口结点…...

CDH大数据平台入门篇之搭建与部署

一、CDH介绍 1.CDH 是一个强大的商业版数据中心管理工具 提供了各种能够快速稳定运行的数据计算框架&#xff0c;如Spark&#xff1b; 使用Apache Impala做为对HDFS、HBase的高性能SQL查询引擎&#xff1b; 使用Hive数据仓库工具帮助用户分析数据&#xff1b; 提供CM安装HBas…...

Spark Join

Spark Join关联形式内关联外关联左外关联右外关联全外关联左半/逆关联关联机制NLJSMJHJ分发模式Join 选择等值 Join不等值 JoinJoin 按照关联形式&#xff08;Join Types&#xff09;划分 : 内关联、外关联、左关联、右关联 Join 按实现机制划分 : NLJ (Nested Loop Join) 、S…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径

目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增&#xff1a;通道注意力模块&#xff08;SE模块&#xff09; class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路

进入2025年以来&#xff0c;尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断&#xff0c;但全球市场热度依然高涨&#xff0c;入局者持续增加。 以国内市场为例&#xff0c;天眼查专业版数据显示&#xff0c;截至5月底&#xff0c;我国现存在业、存续状态的机器人相关企…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...