melange+ apko 基于的alpine docker 镜像集成玩法

主要是一个集成,同时可以提供方便的alpine apk 包管理以及维护

参考集成

 

 


备注:以上中使用git 进行配置管理,使用melange 进行apk 包的构建,同时可以结合s3 将数据存储到s3中,如果构建基于alpine 镜像的可以直接使用构建的私服,同时
也可以结合apko 进行oci 镜像构建,也比较高效方便

参考使用

  • apk 构建 yaml 定义
 
package:
  name: hello
  version: 2.12
  description: "the GNU hello world program"
  copyright:
    - paths:
      - "*"
      attestation: |
        Copyright 1992, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2005,
        2006, 2007, 2008, 2010, 2011, 2013, 2014, 2022 Free Software Foundation,
        Inc.
      license: GPL-3.0-or-later
  dependencies:
    runtime:
 
environment:
  contents:
    repositories:
      - https://mirrors.aliyun.com/alpine/edge/main
    packages:
      - alpine-baselayout-data
      - busybox
      - build-base
      - scanelf
      - ssl_client
      - ca-certificates-bundle
 
pipeline:
  - uses: fetch
    with:
      uri: https://ftp.gnu.org/gnu/hello/hello-${{package.version}}.tar.gz
      expected-sha256: cf04af86dc085268c5f4470fbae49b18afbc221b78096aab842d934a76bad0ab
  - uses: autoconf/configure
  - uses: autoconf/make
  - uses: autoconf/make-install
  - uses: strip
  • apko yaml 定义
contents:
  repositories:
    - https://mirrors.aliyun.com/alpine/edge/main
    - /work/packages
  packages:
    - alpine-base
    - curl
    - tree 
    - tzdata
    - hello
 
entrypoint:
  command: /bin/sh -l
 
paths:
  - path: /etc/localtime
    type: symlink
    source: /usr/share/zoneinfo/Asia/Shanghai
 
# optional environment configuration
environment:
  PATH: /usr/sbin:/sbin:/usr/bin:/bin
 
archs:
 - amd64
  • 生成证书
docker run --rm -v "${PWD}":/work cgr.dev/chainguard/melange keygen
  • 构建apk
docker run --rm --privileged -v "${PWD}":/work \
    cgr.dev/chainguard/melange build demo.yaml \
    --arch amd64 \
    --signing-key melange.rsa
  • 构建镜像
docker run --rm -v "${PWD}":/work \
    cgr.dev/chainguard/apko build --debug app-base.yaml \
    dalongdemoapp:v1  dalongdemoapp.tar -k melange.rsa.pub \
    --arch amd64
  • 效果

 

 

  • 加载运行效果
 docker load < dalongdemoapp.tar     
 docker run -it dalongdemoapp:v1-amd64

效果

 

 

说明

基于melange+apko 对于构建基于alpine apk 的容器镜像是一个不错的选择

参考资料

https://docs.sigstore.dev/cosign/sign/
https://github.com/rongfengliang/melange_apko_learning
https://github.com/chainguard-dev/apko
https://github.com/chainguard-dev/melange

posted on   荣锋亮  阅读(76)  评论(1编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· spring官宣接入deepseek,真的太香了~
历史上的今天:
2021-04-14 cube.js 通过prepareCompiler获取 meta
2020-04-14 easy-rules spring boot集成使用二
2020-04-14 easy-rules spring boot集成使用
2019-04-14 edgedb 基本试用
2018-04-14 osquery简单试用

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示