在容器中使用buildah构建镜像

news2024/9/21 0:47:08

在这里插入图片描述

简介

buildah是一个构建OCI标准镜像的工具,可以用来替代docker build

在常见的linux发行版中可直接通过包管理工具安装使用

# centos
yum install buildah

# ubuntu/debian
apt install buildah

# alpine
apk add buildah

其他发行版安装方法详见 github,本文仅记录如何在容器中使用buildah

buildah容器中使用

quay.io/containers/buildah是官方提供的镜像,不加参数直接启动容器,会出现Operation not permitted和写入相关错误

加上下面三个参数后可正常使用

# 运行buildah容器
docker run -it \
--security-opt seccomp=unconfined \
--security-opt apparmor=unconfined \
-v /tmp/buildah:/var/lib/containers  \
quay.io/containers/buildah:latest sh

# 进入容器sh后,使用buildah命令
buildah -h

参数解释
--security-opt seccomp=unconfined 取消容器对系统调用限制
--security-opt apparmor=unconfined 取消容器的使用资源限制
-v /tmp/buildah:/var/lib/containers 必须挂载一个目录到/var/lib/containers

alipine容器中使用

其他centeos、ubuntu、debian等liunx容器步骤一致

# 运行alpine容器
docker run -it \
--security-opt seccomp=unconfined \
--security-opt apparmor=unconfined \
-v /tmp/buildah:/var/lib/containers  \
alpine sh

#  进入容器sh后操作
# 国内可更换下软件源
sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories

# 安装buildah 
apk update && apk add buildah

# 使用buildah命令
buildah -h

https://github.com/containers/buildah/issues/2262
https://github.com/containers/buildah/issues/867
https://github.com/containers/buildah/blob/main/install.md

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1437498.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RabbitMQ-4.MQ的可靠性

MQ的可靠性 4.MQ的可靠性4.1.数据持久化4.1.1.交换机持久化4.1.2.队列持久化4.1.3.消息持久化 4.2.LazyQueue4.2.1.控制台配置Lazy模式4.2.2.代码配置Lazy模式4.2.3.更新已有队列为lazy模式 4.MQ的可靠性 消息到达MQ以后,如果MQ不能及时保存,也会导致消…

(每日持续更新)jdk api之ObjectInputFilter.FilterInfo基础、应用、实战

博主18年的互联网软件开发经验,从一名程序员小白逐步成为了一名架构师,我想通过平台将经验分享给大家,因此博主每天会在各个大牛网站点赞量超高的博客等寻找该技术栈的资料结合自己的经验,晚上进行用心精简、整理、总结、定稿&…

RabiitMQ延迟队列(死信交换机)

Dead Letter Exchange(死信交换机) 在MQ中,当消息成为死信(Dead message 死掉的信息)后,消息中间件可以将其从当前队列发送到另一个队列中,这个队列就是死信队列。而 在RabbitMQ中,由…

dolphinscheduler海豚调度(一)简介快速体验

1、简介 Apache DolphinScheduler 是一个分布式易扩展的可视化DAG工作流任务调度开源系统。适用于企业级场景,提供了一个可视化操作任务、工作流和全生命周期数据处理过程的解决方案。 Apache DolphinScheduler 旨在解决复杂的大数据任务依赖关系,并为应…

Doris中的本地routineload环境,用于开发回归测试用例

----------------2024-2-6-更新-------------- doris的routineload,就是从kafka中加载数据到表,特点是定时、周期性的从kafka取数据。 要想在本地开发测试routine load相关功能,需要配置kafka环境,尤其是需要增加routine load回…

SQL,HQL刷题,尚硅谷

目录 相关表数据: 题目及思路解析: 汇总分析 1、查询编号为“02”的课程的总成绩 2、查询参加考试的学生个数 分组 1、查询各科成绩最高和最低的分,以如下的形式显示:课程号,最高分,最低分 2、查询每门课程…

分享66个行业PPT,总有一款适合您

分享66个行业PPT,总有一款适合您 66个行业PPT下载链接:https://pan.baidu.com/s/1kcUOfR_xtH9CAJC12prcTw?pwd8888 提取码:8888 Python采集代码下载链接:采集代码.zip - 蓝奏云 学习知识费力气,收集整理更不易。知…

ABAP 获取屏幕字段值,field-symbols,assign..TO.. 相关知识实例

ABAP 获取屏幕字段值,field-symbols,assign..TO.. 相关知识实例 以QA32质量放行程序为例子: 由于这个两个值都在结构RQEVA中,为了方便这里获取整个结构值,最后利用指针指向这个程序的这个结构即可获取当前值&#xf…

小红的字符串中值

题目描述: 小红定义一个长度为奇数的字符串的“中值”为中间那个字符。例如"kou"的中值是o。 现在小红拿到了一个字符串,她想知道某个字符是多少个子串的中值。你能帮帮她吗? 输入描述: 输出描述: 一个整数,代表中值为chr的连续子串…

Camunda如何发送邮件及委托代码讲解

💖专栏简介 ✔️本专栏将从Camunda(卡蒙达) 7中的关键概念到实现中国式工作流相关功能。 ✔️文章中只包含演示核心代码及测试数据,完整代码可查看作者的开源项目snail-camunda ✔️请给snail-camunda 点颗星吧😘 💖什么是委托…

米贸搜|关于Facebook广告受限:在这些情况下,Meta会限制广告主的广告能力!

如果你被限制了投放广告,那么你会在Facebook上收到通知。 除了审查广告之外,Meta还监控和调查广告主在Meta技术上的行为,在某些情况下,Meta可能会对广告主施加限制,限制广告主的广告能力,这些限制旨在帮助保…

零基础学编程从入门到精通,系统化的编程视频教程上线,中文编程开发语言工具构件之缩放控制面板构件用法

一、前言 零基础学编程从入门到精通,系统化的编程视频教程上线,中文编程开发语言工具构件之缩放控制面板构件用法 编程入门视频教程链接 https://edu.csdn.net/course/detail/39036 编程工具及实例源码文件下载可以点击最下方官网卡片——软件下载—…

鸿蒙OS导入项目报错不能运行 @ohos\hvigor\bin\hvigor.js‘

在自学HarmonyOS时,想在DevEco Studio导入官方示例代码:待办列表(ArkTS)报错 C:\Users\woods\Downloads\test01\ToDoListArkTS\node_modules\ohos\hvigor\bin\hvigor.js --mode module -p moduleentrydefault -p productdefault …

IDEA上传Gitee出错

问题 今天想通过 IDEA 更下新 gitee 上的代码是发生了这个错误。 解决 在 IDEA 终端输入 git config --system --unset credential.helper原因 在一个大佬那里找到了原因 大概意思是-远端仓库的账号和密码错误,你本地有过账号密码登录记录,但不知道…

板块一 Servlet编程:第一节 HTTP协议理论与服务器请求响应原理 来自【汤米尼克的JAVAEE全套教程专栏】

板块一 Servlet编程:第一节 HTTP协议理论与服务器请求响应原理 一、HTTP特点二、HTTP中的 URL三、两种 HTTP 请求方法:GET 和 POST四、请求响应的底层请求头在服务器中表现响应头在服务器中表现 在上一个板块中我们完成了所有IDEA的基础配置工作&#xf…

【MATLAB】使用梯度提升树在回归预测任务中进行特征选择(深度学习的数据集处理)

1.梯度提升树在神经网络的应用 使用梯度提升树进行特征选择的好处在于可以得到特征的重要性分数,从而识别出对目标变量预测最具影响力的特征。这有助于简化模型并提高其泛化能力,减少过拟合的风险,并且可以加快模型训练和推理速度。此外&…

07-使用Package、Crates、Modules管理项目

上一篇:06-枚举和模式匹配 当你编写大型程序时,组织代码将变得越来越重要。通过对相关功能进行分组并将具有不同功能的代码分开,您可以明确在哪里可以找到实现特定功能的代码,以及在哪里可以改变功能的工作方式。 到目前为止&…

人工智能|深度学习——基于全局注意力的改进YOLOv7-AC的水下场景目标检测系统

代码下载: 基于全局注意力的改进YOLOv7-AC的水下场景目标检测系统.zip资源-CSDN文库 1.研究的背景 水下场景目标检测是水下机器人、水下无人机和水下监控等领域中的重要任务之一。然而,由于水下环境的复杂性和特殊性,水下目标检测面临着许多挑…

有责无权的PM如何管好项目?

一、项目经理的责任和权力分析 项目经理作为项目的责任主体,承担着确保项目顺利完成的重要责任。他们需要确保项目达到预期目标,控制项目进度、成本和质量,并保证项目团队的有效运作。然而,与责任相对应的权力却并不总是与之匹配…

代码随想录算法训练营第四十五天(动态规划篇)|01背包

01背包理论基础 学习资料:代码随想录 (programmercarl.com) 相关链接:题目页面 (kamacoder.com) 背包题目分类 01背包定义 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次…