Files
ziti/quickstart/docker

Building and Deploying the Latest Quickstart Docker Image

==========================

First, decide what you are trying to do. Are you trying to:

  • build a ziti from source, bake it into a docker image, and run the docker container?
  • dev on the scripts inside the docker container, or the Dockerfile/compose file?
  • build an 'older' version of ziti into a docker image to run

Build Docker Image for Local Dev


  1. build the ziti CLI somewhere
  2. change to this directory from checkout root: cd quickstart/docker
  3. make a directory named ziti-bin: mkdir ./ziti-bin
  4. copy the ziti CLI to ./ziti-bin: cp /path/to/ziti ./ziti-bin
  5. run the script ./createLocalImage.sh which will create a openziti/quickstart:latest tag using the ziti CLI located in ./ziti-bin
    1. Optionally, you may provide an argument for the image tag. ./createLocalImage.sh <tagname>
  1. change to this directory from checkout root: cd quickstart/docker
  2. run the script ./createLocalImage.sh which will create a openziti/quickstart:latest tag using the latest ziti release from GitHub
    1. Optionally, you may provide an argument for the image tag. ./createLocalImage.sh <tagname>

Build Docker Image with Specific ziti Version

  1. change to this directory from checkout root: cd quickstart/docker
  2. set ZITI_VERSION_OVERRIDE to desired version: export ZITI_VERSION_OVERRIDE=v0.28.4
  3. run the script ./createLocalImage.sh which will create a openziti/quickstart:latest tag using the specified version of ziti from GitHub
    1. Optionally, you may provide an argument for the image tag. ./createLocalImage.sh <tagname>

ERROR: existing instance for "ziti-builder"

When running the ./createLocalImage.sh script, you might get this error:

ERROR: existing instance for "ziti-builder" but no append mode, specify --node to make changes for existing instances

It's probably safest to just remove the buildx builder using:

docker buildx rm ziti-builder

Build Docker Image For Publication

To publish the latest ziti CLI, use the GitHub Action. It's preferable to use main as the branch to create the docker image from, but it's perfectly fine to use 'release-next' as the source if there are script-related changes that need to be pushed out faster than waiting for a merge to main.