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

About

Docker Packaging (deb, rpm, static)

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors 10