apiVersion: batch/v1 kind: Job metadata: name: buildkit spec: template: spec: restartPolicy: Never initContainers: - name: prepare image: alpine:3.10 command: - sh - -c - "echo FROM hello-world > /workspace/Dockerfile" volumeMounts: - name: workspace mountPath: /workspace containers: - name: buildkit image: moby/buildkit:master command: - buildctl-daemonless.sh args: - build - --frontend - dockerfile.v0 - --local - context=/workspace - --local - dockerfile=/workspace # To push the image to a registry, add # `--output type=image,name=docker.io/username/image,push=true` securityContext: privileged: true volumeMounts: - name: workspace readOnly: true mountPath: /workspace # To push the image, you also need to create `~/.docker/config.json` secret # and set $DOCKER_CONFIG to `/path/to/.docker` directory. volumes: - name: workspace emptyDir: {}