Skip to content

Building ACME Container

Endi S. Dewata edited this page Feb 21, 2024 · 7 revisions

Overview

This page describes the procedure to build an ACME container.

Dockerfiles

There are two Dockerfiles for ACME container:

  • Dockerfile: This is the preferred one since it is multi-stage so it can be faster to build and produce smaller images and also it is tested in CI.

  • base/acme/Dockerfile: This is less preferred since it is single-stage. It is provided to support image builders that do not support multi-stage Dockerfiles (e.g. Quay).

Building ACME Container Locally

To build the container using the multi-stage Dockerfile:

$ podman build \
    --target pki-acme \
    -t pki-acme \
    .

To build the container using the single-stage Dockerfile:

$ podman build \
    -f base/acme/Dockerfile \
    -t pki-acme \
    .

To push the container to Quay:

$ podman tag pki-acme:latest quay.io/<username>/pki-acme:latest
$ podman push quay.io/<username>/pki-acme:latest

Configuring Autobuild on Quay

  • Open https://quay.io/repository

  • Click a container repository (e.g. dogtagpki/pki-acme)

  • Click Builds

  • Click Create Build Trigger

  • Click GitHub Repository Push

  • Select a GitHub organization (e.g. dogtagpki)

  • Click Continue

  • Select a source repository (e.g. pki)

  • Click Continue

  • Select Trigger only on branches and tags matching a regular expression

  • Enter regular expression: heads/master

  • Click Continue

  • Don’t change anything under Configure Tagging

  • Click Continue

  • Enter Dockerfile location: /base/acme/Dockerfile

  • Enter Docker context: /

  • Click Continue

  • Don’t select anything under Optional Robot Account

  • Click Continue

  • Under Ready to go! click Continue

Configuring Autobuild on Docker Hub

  • Open https://hub.docker.com

  • Select a container repository (e.g. dogtagpki/pki-acme)

  • Click Builds

  • Click Configure Automated Builds

  • Click + next to BUILD RULES

  • Enter:

    • Source Type: Branch

    • Source: master

    • Docker Tag: latest

    • Dockerfile location: base/acme/Dockerfile

    • Build Context: /

    • Autobuild: Enabled

    • Build Caching: Enabled

  • Click Save and Build

See Also

Clone this wiki locally