8000 GitHub - docker/packaging: Docker Packaging (deb, rpm, static)
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

docker/packaging

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker Packaging

🧪 Experimental

This repository is considered EXPERIMENTAL and under active development until further notice. Please refer to docker-ce-packaging repository to request changes to the packaging process.

About

This repository creates packages (deb, rpm, static) for various projects and are published as a Docker image on Docker Hub.


Release

Packages are published to Docker Hub as non-runnable images that only contains the artifacts. You can check the GitHub Releases for the list of published Docker tags.

Note

We are also publishing nightly builds using the nightly-<project>-<version> tags.

For testing purpose you can use a tool like Undock to extract packages:

# extract packages for all platforms and output to ./bin/undock folder
$ undock --wrap --rm-dist --all dockereng/packaging:buildx-v0.9.1 ./bin/undock

Build

Requirements

Before building packages, you need to use a compatible Buildx driver to be able to build multi-plaform packages such as docker-container:

# create docker-container builder and use it by default
# https://docs.docker.com/build/building/drivers/docker-container/
$ docker buildx create --driver docker-container --name mybuilder --use --bootstrap

Note

Some packages don't have cross-compilation support, and therefore QEMU will be used. As it can be slow to build, it is recommended to use a builder with native nodes.

Usage

# build all packages for all distros
$ docker buildx bake pkg
# build buildx package for debian 12
$ docker buildx bake pkg-buildx-debian12
# build buildx package for debian 12
$ docker buildx bake pkg-buildx-debian12
# build all packages for all distros (only local platform)
$ LOCAL_PLATFORM=1 docker buildx bake pkg

To create a new release for a package:

# build all packages for buildx v0.24.0 and output to ./bin folder
$ PKG_REF=v0.24.0 make pkg-buildx
# build and push image to dockereng/packaging:buildx-v0.24.0. "release" target
# will use the "bin" folder as named context to create the image with artifacts
# previously built.
$ docker buildx bake --push --set *.tags=dockereng/packaging:buildx-v0.24.0 release-buildx 

Contributing

Want to contribute? Awesome! You can find information about contributing to this project in the CONTRIBUTING.md

0