2020-12-09 03:49:51 +00:00
# BuildKit
BuildKit is a concurrent, cache-efficient, and Dockerfile-agnostic builder toolkit.
Report issues at https://github.com/moby/buildkit
Join `#buildkit` channel on [Docker Community Slack ](http://dockr.ly/slack )
# Tags
### Latest stable release
2021-07-19 20:57:17 +00:00
- [`v0.9.0`, `latest` ](https://github.com/moby/buildkit/blob/v0.9.0/Dockerfile )
2020-12-09 03:49:51 +00:00
2021-07-19 20:57:17 +00:00
- [`v0.9.0-rootless`, `rootless` ](https://github.com/moby/buildkit/blob/v0.9.0/Dockerfile ) (see [`docs/rootless.md` ](https://github.com/moby/buildkit/blob/master/docs/rootless.md ) for usage)
2020-12-09 03:49:51 +00:00
### Development build from master branch
- [`master` ](https://github.com/moby/buildkit/blob/master/Dockerfile )
- [`master-rootless` ](https://github.com/moby/buildkit/blob/master/Dockerfile )
Binary releases and changelog can be found from https://github.com/moby/buildkit/releases
# Usage
To run daemon in a container:
```bash
docker run -d --name buildkitd --privileged moby/buildkit:latest
export BUILDKIT_HOST=docker-container://buildkitd
buildctl build --help
```
See https://github.com/moby/buildkit#buildkit for general BuildKit usage instructions
## Docker Buildx
[Buildx ](https://github.com/docker/buildx ) uses the latest stable image by default. To set a custom BuildKit image version use `--driver-opt` :
```bash
docker buildx create --driver-opt image=moby/buildkit:master --use
```
## Rootless
For Rootless deployments, see [`docs/rootless.md` ](https://github.com/moby/buildkit/blob/master/docs/rootless.md )
## Kubernetes
For Kubernetes deployments, see [`examples/kubernetes` ](https://github.com/moby/buildkit/tree/master/examples/kubernetes )
## Daemonless
To run the client and an ephemeral daemon in a single container ("daemonless mode"):
```bash
docker run \
-it \
--rm \
--privileged \
-v /path/to/dir:/tmp/work \
--entrypoint buildctl-daemonless.sh \
moby/buildkit:master \
build \
--frontend dockerfile.v0 \
--local context=/tmp/work \
--local dockerfile=/tmp/work
```
Rootless mode:
```bash
docker run \
-it \
--rm \
--security-opt seccomp=unconfined \
--security-opt apparmor=unconfined \
-e BUILDKITD_FLAGS=--oci-worker-no-process-sandbox \
-v /path/to/dir:/tmp/work \
--entrypoint buildctl-daemonless.sh \
moby/buildkit:master-rootless \
build \
--frontend \
dockerfile.v0 \
--local context=/tmp/work \
--local dockerfile=/tmp/work
```