Skip to content

binbashing/kindwrind

Repository files navigation

Kubernetes in Docker with Registry in Docker

Build and Push Integration Tests Update Check

kindwrind logo

kindwrind is a tool for running Kind and Registry inside a single container using DinD.
kindwrind was primarily created for local development or CI.
If you have Docker installed and the abilty to Escalate container privileges

docker run -d \
    --privileged \
    --name kindwrind \
    -p 6443:6443 \
    -p 5000:5000 \
    -v ${KUBECONFIG:-~/.kube/config}:/kubeconfig/config \
    binbashing/kindwrind

is all you need!


Example usage:

# docker-compose.yaml
services:
    kindwrind:
        image: binbashing/kindwrind
        privileged: true
        ports:
            - 6443:6443
            - 5000:5000
        volumes:
            - ${KUBECONFIG_DIR:-~/.kube}:/kubeconfig
# Start kindwrind
docker compose up -d

# Pull a public image
docker pull nginx:latest

## Tag image for local registry
docker tag nginx:latest localhost:5000/nginx:latest

## Push image to local registry
docker push localhost:5000/nginx:latest

## Create a Kubernetes deployment using the local registry image
kubectl create deployment hello-server --image=localhost:5000/nginx:latest 

Note: You can specify a custom Kubernetes version using the KUBERNETES_VERSION environment variable (e.g., KUBERNETES_VERSION=v1.33.0). When set, Kind will create the cluster using --image kindest/node:$KUBERNETES_VERSION.

License

This project is licensed under the Apache License 2.0.

About

Kubernetes in Docker with Registry in Docker

Topics

Resources

License

Stars

Watchers

Forks

Contributors 2

  •  
  •