Local Registry

The following shell script will create a local docker registry and a kind cluster with it enabled.

!/bin/sh set -o errexit # create registry container unless it already exists reg_name=’kind-registry’ reg_port=’5000’ running=”$(docker inspect -f ‘{{.State.Running}}’ “${reg_name}” 2>/dev/null || true)” if [ “${running}” != ‘true’ ]; then docker run \ -d —restart=always -p “${reg_port}:5000” —name “${reg_name}” \ registry:2 fi # create a cluster with the local registry enabled in containerd cat <<EOF | kind create cluster —config=- kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 containerdConfigPatches: - |- [plugins.”io.containerd.grpc.v1.cri”.registry.mirrors.”localhost:${reg_port}”] endpoint = [“http://${reg\_name}:${reg\_port}"\] EOF # connect the registry to the cluster network docker network connect “kind” “${reg_name}” # tell to use the registry # https://docs.tilt.dev/choosing\_clusters.html#discovering-the-registry for node in $(kind get nodes); do kubectl annotate node “${node}” “kind.x-k8s.io/registry=localhost:${reg_port}”; done