This repository contains Dockerfiles and scripts to build base images for use within Stackable.
This image is meant to be used in multi-stage builds as a base image for projects building Rust projects.
The image will run cargo build --release in the current context and copy all binaries to an /app directory.
This will bake in the current stable Rust version at the time this image was built which means it should be rebuilt (and tagged) for every release of Rust.
FROM docker.stackable.tech/ubi8-rust-builder AS builder FROM registry.access.redhat.com/ubi8/ubi-minimal AS operator LABEL maintainer="Stackable GmbH" # Update image RUN microdnf update --disablerepo=* --enablerepo=ubi-8-baseos --enablerepo=ubi-8-baseos -y \ && rm -rf /var/cache/yum \ && microdnf install --disablerepo=* --enablerepo=ubi-8-baseos shadow-utils -y \ && rm -rf /var/cache/yum COPY --from=builder /app/stackable-zookeeper-operator / RUN groupadd -g 1000 stackable && adduser -u 1000 -g stackable -c 'Stackable Operator' stackable USER 1000:1000 ENTRYPOINT ["/stackable-zookeeper-operator"]Product images are used by stackable operators to set up service clusters. For example, the Apache ZooKeeper product image contains Apache ZooKeeper and some additional things required to monitor and set up containers corectly.
Product images are tagged with <product-version>-<image-version> tags. The product-version is the version of the product installed in the image and image-version is the version of the image as referenced by the stackable plattform.
Product images are published to the docker.stackable.tech registry.
To build and push product images to the default repository, use the build_product_images.py like this:
build_product_images.py -p zookeeper -i 0.1 -u
This will build images for Apache ZooKeeper versions as defined in the conf.py and tag them with image-version 0.1.
The GitHub action called Product images can be triggered manually to do the same but not on the local machine.