首页 > 其他分享 >apko不依赖dockerfile基于apk 包构建oci 镜像的工具

apko不依赖dockerfile基于apk 包构建oci 镜像的工具

时间:2023-04-13 20:55:17浏览次数:54  
标签:oci bin apk 构建 dalongdemoapp 镜像 dockerfile apko

可以方便的基于apk 包进行oci 镜像的构建以及发布

包含的特性

  • 可重复执行同时确认二进制文件一致
  • 快速
  • sbom 支持
  • 服务支持,基于s4

安装

可以通过go install 以及docker 模式运行

go install chainguard.dev/apko@latest

使用

  • 配置
contents:
  repositories:
    - https://mirrors.aliyun.com/alpine/edge/main
  packages:
    - alpine-base
    - curl
    - tree 
    - tzdata
 
entrypoint:
  command: /bin/sh -l
 
paths:
  - path: /etc/localtime
    type: symlink
    source: /usr/share/zoneinfo/Hongkong
 
# optional environment configuration
environment:
  PATH: /usr/sbin:/sbin:/usr/bin:/bin
  • 构建
    命令格式apko build <config.yaml> <tag> <output.tar>
 
apko build  app-base.yaml  dalongdemoapp:v1 dalongdemoapp.tar

效果(可以看到会包含各种系统的)

 

 

 

 

 

 

  • 加载镜像
 
docker load < dalongdemoapp.tar

效果

  • 运行
 
docker run -it dalongdemoapp:v1-amd64

效果

 

 

说明

基于apko 构建镜像是一个不错的选择,还是比较方便的,同时也支持方便的sbom 可以增强安全处理

参考资料

https://github.com/chainguard-dev/apko

标签:oci,bin,apk,构建,dalongdemoapp,镜像,dockerfile,apko
From: https://www.cnblogs.com/rongfengliang/p/17316380.html

相关文章

  • 【Docker】容器操作 mysql部署 redis部署 nginx部署 迁移与备份 Dockerfile
    目录上节回顾今日内容1容器操作2应用部署2.1mysql部署2.2redis2.3nginx3迁移与备份4Dockerfile练习上节回顾#1docker启动,停止,查看状态命令 systemctlstartdockersystemctlstopdockersystemctlstatusdockerdockerinfo#查看详情systemc......
  • android S 上 安装apk出现android.os.FileUriExposedException
    报错:android.os.FileUriExposedException:file:///data/user/0/com.example.overlay.exposedbeyondappthroughIntent.getData()原因:andorid7.0系统以后,引入“私有目录被限制访问”,“StrictModeAPI政策”导致的问题。解决办法很简单。就是用新的方式获取uri。”St......
  • Android性能优化之APK瘦身
    结构分析首先上传一张瘦身前通过Analyzeapp分析出来的图片(打开方式:AndroidStudio下——>Build——>Analyzeapp):imageAPK包结构如下:lib/:包含特定于处理器软件层的编译代码。该目录包含了每种平台的子目录,像armeabi,armeabi-v7a,arm64-v8a,x86,x86_64,和mips。大多数情况......
  • 1 容器操作 、2 应用部署、3 迁移与备份、 4 Dockerfile
    目录1容器操作2应用部署2.1mysql部署2.2redis2.3nginx3迁移与备份4Dockerfile1容器操作#启动容器 dockerstart容器id#停止容器 dockerstop容器id#文件拷贝 #容器的文件copy到宿主机上(不是在容器内执行)dockercp容器名称:容器目录需要拷贝的文件或......
  • 查看xxx.apk文件的AndroidManifest.xml操作步骤:
    查看xxx.apk文件的AndroidManifest.xml操作步骤: 1.使用7.zip打开xxx.apk文件,且将该文件夹中的AndroidManifest.xml文件复制出来。 2、AndroidManifest.xml文件复制到AXMLPrinter2文件夹中。 3、在AXMLPrinter2文件夹输入cmd进入命令行模式。 4、输入java-jarAXMLPrinter2.jarAn......
  • 在dockerfile中使用非root用户
    16、在dockerfile中使用非root用户前言:当在运行容器时,默认都是以root的账号进行启动的,但这个root账号和宿主机的root账号的权限是不一样的,会受到capabilities的限制。那如果是非特权的容器,使用容器的root账号启动是否安全的呢。(1)启动一个centos-test的容器#dockerrun......
  • Android-APK反编译
    1.原理学习反编译之前,建议先学习一下Apk打包的过程,明白打包完成后的Apk里面都有什么文件,各种文件都是怎么生成的。Apk技术也有非常多的技术可以学习,主要都是围绕着如何减小体积,如何提高打包速度展开,这里先不多说了。下面是一张基本的Apk文件结构图。Apk文件本质上其实是一个zip......
  • UIScrollView SnapKit使用
    直接上代码,看ViewDidLoad方法中的注释。一共10个约束,UIScrollView上下左右4个,其子试图contentView上下左右宽高6个。注意点:(以要求可以上下滚动为例,可以先看完代码再回头理解注意事项)1、contentView的宽高根据需求设置优先级,哪边需要滚动,优先级就必须低,因此这里设置高度优先......
  • docker dockerfile模版文件
    目录dockerdockerfile模版文件dockerdockerfile模版文件#参数ARGMy_Master=liwenchao1995FROM${My_Master}/hexo:v01#注明坐车[email protected]#标签LABELDesc_By="liwenchao"#设置工作目录WORKDIR /opt/hexoADDecs.tar.gz/usr/share/nginx/html#......
  • Qt for Android QtQuick应用程序 USB连接手机调试运行错误:adb: failed to *.apk: No s
    1.场景Windows11、Qt6.5.0QtQuick应用程序USB连接手机调试运行。2.错误信息adb:failedto*.apk:NosuchfileordirectoryInstallingtodevicefailed!进程"C:\Users\Administrator\Qt\6.5.0\mingw_64\bin\androiddeployqt.exe"退出,退出代码16。安装应用失败,发生未知错......