docs: create dedicated drivers section
Create a dedicated folder for information on drivers, and write a new index.md with content adapted from the README, and a new feature comparisons table. Signed-off-by: Justin Chadwell <me@jedevc.com>pull/1233/head
parent
bc19deb5d0
commit
68ef5b9c9b
@ -0,0 +1,41 @@
|
|||||||
|
# Buildx drivers overview
|
||||||
|
|
||||||
|
The buildx client connects out to the BuildKit backend to execute builds -
|
||||||
|
Buildx drivers allow fine-grained control over management of the backend, and
|
||||||
|
supports several different options for where and how BuildKit should run.
|
||||||
|
|
||||||
|
Currently, we support the following drivers:
|
||||||
|
|
||||||
|
- The `docker` driver, that uses the BuildKit library bundled into the Docker
|
||||||
|
daemon.
|
||||||
|
([reference](https://docs.docker.com/engine/reference/commandline/buildx_create/#driver))
|
||||||
|
- The `docker-container` driver, that launches a dedicated BuildKit container
|
||||||
|
using Docker, for access to advanced features.
|
||||||
|
([guide](./docker-container.md), [reference](https://docs.docker.com/engine/reference/commandline/buildx_create/#driver))
|
||||||
|
- The `kubernetes` driver, that launches dedicated BuildKit pods in a
|
||||||
|
remote Kubernetes cluster, for scalable builds.
|
||||||
|
([guide](./kubernetes.md), [reference](https://docs.docker.com/engine/reference/commandline/buildx_create/#driver))
|
||||||
|
- The `remote` driver, that allows directly connecting to a manually managed
|
||||||
|
BuildKit daemon, for more custom setups.
|
||||||
|
([guide](./remote.md))
|
||||||
|
|
||||||
|
<!--- FIXME: for 0.9, make links relative, and add reference link for remote --->
|
||||||
|
|
||||||
|
To create a new builder that uses one of the above drivers, you can use the
|
||||||
|
[`docker buildx create`](https://docs.docker.com/engine/reference/commandline/buildx_create/) command:
|
||||||
|
|
||||||
|
```console
|
||||||
|
$ docker buildx create --name=<builder-name> --driver=<driver> --driver-opt=<driver-options>
|
||||||
|
```
|
||||||
|
|
||||||
|
The build experience is very similar across drivers, however, there are some
|
||||||
|
features that are not evenly supported across the board, notably, the `docker`
|
||||||
|
driver does not include support for certain output/caching types.
|
||||||
|
|
||||||
|
| Feature | `docker` | `docker-container` | `kubernetes` | `remote` |
|
||||||
|
| :---------------------------- | :-------------: | :----------------: | :----------: | :--------------------: |
|
||||||
|
| **Automatic `--load`** | ✅ | ❌ | ❌ | ❌ |
|
||||||
|
| **Cache export** | ❔ (inline only) | ✅ | ✅ | ✅ |
|
||||||
|
| **Docker/OCI tarball output** | ❌ | ✅ | ✅ | ✅ |
|
||||||
|
| **Multi-arch images** | ❌ | ✅ | ✅ | ✅ |
|
||||||
|
| **BuildKit configuration** | ❌ | ✅ | ✅ | ❔ (managed externally) |
|
@ -1,4 +1,4 @@
|
|||||||
# Kubernetes builder
|
# Kubernetes driver
|
||||||
|
|
||||||
The buildx kubernetes driver allows connecting your local development or ci
|
The buildx kubernetes driver allows connecting your local development or ci
|
||||||
environments to your kubernetes cluster to allow access to more powerful
|
environments to your kubernetes cluster to allow access to more powerful
|
@ -1,4 +1,4 @@
|
|||||||
# Remote builder
|
# Remote driver
|
||||||
|
|
||||||
The buildx remote driver allows for more complex custom build workloads that
|
The buildx remote driver allows for more complex custom build workloads that
|
||||||
allow users to connect to external buildkit instances. This is useful for
|
allow users to connect to external buildkit instances. This is useful for
|
Loading…
Reference in New Issue