首页 > 其他分享 >melange+ apko 基于的alpine docker 镜像集成玩法

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

时间:2023-04-14 09:46:43浏览次数:49  
标签:-- https melange docker apko alpine

主要是一个集成,同时可以提供方便的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

标签:--,https,melange,docker,apko,alpine
From: https://www.cnblogs.com/rongfengliang/p/17317298.html

相关文章

  • docker启动nginx
    1》首先需要随便启动个nginx容器并进入容器,把nginx的配置项(conf、html、log)拷贝到服务器。命令如下:#htmldockercp容器id:/usr/share/nginx/html服务器路径#logsdockercp容器id:/var/log/nginx服务器路径#confdockercp容器id:/etc/nginx服务器路径注意:配置......
  • melange 基于源码构建apk 包的工具
    实际上melange是apko的相关项目,结合起来可以更好的创建基于apk的oci镜像,melange主要是定义了一套pipeline可以方便的进行apk包开发安装可以基于docker运行 goinstallchainguard.dev/melange@latest使用配置package:name:h......
  • docker容器操作,应用部署,迁移与备份,Dockerfile
    目录容器操作应用部署mysql部署redisnginx迁移与备份容器保持为镜像镜像备份和恢复Dokcerfile镜像从哪里来使用Dockerfile来构建什么是DockerfileDockerfile的命令构建一个带vim的centos镜像基于Python3.8构建一个能够运行你这个程序的镜像容器操作启动容器dockerstart容器i......
  • Docker使用
     1.docker基础知识环境代码一起发给别人=>需要一个容器  规避了环境不一致导致的异常【软件跨环境迁移的问题】    以下是在Ubuntu上安装Docker的步骤:更新apt包管理器sudoapt-getupdate安装必要的软件包以允许apt通过HTTPS使用存储库sudoapt-g......
  • 容器操作,应用部署,迁移与备份,Dockerfile
    容器操作,应用部署,迁移与备份,Dockerfile上节回顾#1docker启动,停止,查看状态命令 systemctlstartdockersystemctlstopdockersystemctlstatusdockerdockerinfo#查看详情systemctlenabledocker#开机自启动#2配置镜像源,拉取镜......
  • linux环境下安装Docker
    1、概念:docker是一个开源的应用容器引擎,docker可以让开发者打包他们的应用以及依赖环境包到一个轻量级、可移值的容器中。然后发布到任何流行的linux机器上。安装过程:1、yum包更新到最新yumupdate2、安装需要的软件包yuminstall-yyum-utilsdevice-mapper-persistent-da......
  • docker 容器操作、应用部署、mysql,redis,nginx、迁移与备份、Dockerfile
    容器操作#启动容器dockerstart容器id#停止容器dockerstop容器id#文件拷贝先创建文件mkdir:文件夹vivimtouch:文件#容器的文件copy到宿主机上(不是在容器内部操作)dockercp容器名称:容器目录需要拷贝的文件或目录dockercp......
  • docker-day3——docker应用部署、docker迁移与备份、Dockerfile
    目录一、应用部署1.1mysql部署1.2nginx1.3redis1.4部署项目的一些讲解二、迁移与备份三、Dockerfile四、作业1、什么是迭代器,生成器,装饰器2、django的信号用过吗?如何用,干过什么3、Dockerfile用过吗?常用命令有哪些一、应用部署补充知识点:容器之间互相是可以ping通的但是......
  • apko不依赖dockerfile基于apk 包构建oci 镜像的工具
    可以方便的基于apk包进行oci镜像的构建以及发布包含的特性可重复执行同时确认二进制文件一致快速小sbom支持服务支持,基于s4安装可以通过goinstall以及docker模式运行goinstallchainguard.dev/apko@latest使用配置contents:......
  • 【Docker】容器操作 mysql部署 redis部署 nginx部署 迁移与备份 Dockerfile
    目录上节回顾今日内容1容器操作2应用部署2.1mysql部署2.2redis2.3nginx3迁移与备份4Dockerfile练习上节回顾#1docker启动,停止,查看状态命令 systemctlstartdockersystemctlstopdockersystemctlstatusdockerdockerinfo#查看详情systemc......