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

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

时间:2023-04-19 21:02:35浏览次数:47  
标签:-- dev https melange docker apko alpine

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

参考集成

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

 

 

备注:以上中使用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
  • 效果

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

 

 

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

效果

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

 

 

说明

基于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

标签:--,dev,https,melange,docker,apko,alpine
From: https://blog.51cto.com/rongfengliang/6207433

相关文章

  • melange 基于源码构建apk 包的工具
    实际上melange是apko的相关项目,结合起来可以更好的创建基于apk的oci镜像,melange主要是定义了一套pipeline可以方便的进行apk包开发安装可以基于docker运行 goinstallchainguard.dev/melange@latest使用配置package:name:helloversion:2.12epoch:0description:"the......
  • docker compose 安装 odoo(补充)
    1.配置扩展目录odoo配置文件/opt/odoo/config/odoo.conf#内容[options]addons_path=/mnt/extra-addonsdb_host=localhostdb_user=odoodb_name=odoodb_password=odoodocker-composer.yml配置version:'3.1'services:web: image:od......
  • Docker 运行 mongodb 无法连接 mongosh 问题
    场景在宿主机上依次执行以下命令,拉取mongo镜像,创建容器并运行dockerpullmongodockerrun--rm-d\--namemongo-test\mongo\bash进入容器中:dockerexec-itmongo-testbash执行使用mongosh连接mongo数据库的命令:mongosh报错:MongoNetworkError:......
  • Docker安装ElasticSearch
    1安装说明在平时工作的时候,开发环境大多数会安装单机ElasticSearch,但生产环境基本会安装ElasticSearch集群版,所以我们接下来实现一下ElasticSearch单机安装,下一节实现集群安装,但安装也大多数采用Docker安装。不过中文搜索,会实现分词器集成,可以采用IK分词器。ElasticSearch采用......
  • 2023年windows DockerDeskTop最新款4.18.0 全程保姆级安装
    目录前景提示windows10内置的linux系统1.这个内置系统一定要在windowsstore里安装,否则,无法使用,这是重点。进入商店,搜索linux。2.一般画圈这些都可以使用。4.安装会让你输入微软账户密码(首次)。5.静静等待,本作的这个大概550M左右。6.装好后,会生成一个图标(像应用程序一样,双击......
  • windows系统下,关于docker的问题总结
    1、Docker启动时的问题在启动中遇到弹出信息框,一些乱码和引发异常的上一位置中堆栈跟踪的末尾,只需要管理员身份运行CMD/PS,输入:netshwinsockreset,重启电脑,再次运行docker就可以了。2、遇到下面报错AnunexpectederroroccurredFailedtodeploydistrodocker-desktoptoC......
  • docker学习
    镜像(image)镜像可以理解为一个模板,里边有一些东西,可以通过run命令来进行运行。通过某一个镜像可以创建多个容器(最终的服务或者是项目就是运行在容器里边的) 容器(container)Docker利用容器技术可以独立运行一个或者一组应用。可以通过镜像运行启动、停止、删除的基本命令目前可......
  • 【Docker】常用命令
    1、Docker启动启动sudosystemctlstartdocker启动成功是没有任何消息提示的,要知道在Linux系统中,没有消息就表示成功设置docker开启自启systemctlenabledocker判断是否安装启动成功dockerversion出现服务端和客户端的相关信息,即表示启动成功。2、常用命令2......
  • docker常用命令
    docker要删除镜像,先要删除依赖它的容器1.删除容器dockerps#查看正在运行的容器dockerps-a#查看所有容器dockerrmcontainer_id#删除容器2.删除镜像dockerimages//查看镜像dockerrmiimage_id2.1删除其他镜像#删除nullimagesudodockerrmi$(dockerima......
  • 本地升級stable-diffusion diffuser docker CUDA11.7 RTX2060
    1.0前言本地搭建stable-diffusiondiffuserdockerCUDA10.2RTX2060上次安裝的cuda10.2太舊了,升級cuda11.7順便填一下漏了的點。2.0卸載sudoapt-getremove--purge'^nvidia-.*'sudoapt-getremove--purge'^libnvidia-.*'sudoapt-getremove--purge'^cuda-.*&......