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

发布时间 2023-04-13 20:54:29作者: 荣锋亮

可以方便的基于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