build: refresh overview page

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax 2022-09-10 13:13:16 +02:00
parent 32dd6ae4af
commit 609da7feb3
No known key found for this signature in database
GPG Key ID: 3248E46B6BB8C7F7
1 changed files with 57 additions and 38 deletions

View File

@ -4,18 +4,20 @@ description: Introduction and overview of Docker Build
keywords: build, buildx, buildkit
---
Docker Build is one of Docker Engines most used features. Whenever you are
## Overview
Docker Build is one of Docker Engine's most used features. Whenever you are
creating an image you are using Docker Build. Build is a key part of your
software development life cycle allowing you to package and bundle your code
and ship it anywhere.
Engine uses a client-server architecture and is composed of multiple components
and tools. The most common method of executing a build is by issuing a
`docker build` command from the Docker CLI. The CLI sends the request to Docker
Engine which, in turn, executes your build.
[`docker build` command](../engine/reference/commandline/build.md). The CLI
sends the request to Docker Engine which, in turn, executes your build.
There are now two components in Engine that can be used to create the build.
Starting with the 18.09 release, Engine is shipped with [Moby BuildKit](https://github.com/moby/buildkit){:target="_blank" rel="noopener" class="_"},
There are now two components in Engine that can be used to build an image.
Starting with the 18.09 release, Engine is shipped with Moby [BuildKit](https://github.com/moby/buildkit){:target="_blank" rel="noopener" class="_"},
the new component for executing your builds by default.
With BuildKit, the new client [Docker Buildx](buildx/index.md), becomes
@ -28,56 +30,73 @@ and much improved functionality that can be powerful tools for improving your
builds' performance or reusability of your Dockerfiles, and it also introduces
support for complex scenarios.
## Docker Build features
Docker Build is way more than the `docker build` command and is not only about
packaging your code, it's a whole ecosystem of tools and features that support
you not only with common workflow tasks but also provides you with support for
more complex and advanced scenarios:
Docker Build is way more than your `docker build` command and is not only about packaging your code, its a whole ecosystem of tools and features that support you not only with common workflow tasks but also provides you with support for more complex and advanced scenarios.
Heres an overview of all the use cases with which Build can support you:
## Building your images
### Building your images
### Packaging your software
* **Packaging your software**
Bundle and package your code to run anywhere, from your local Docker Desktop, to Docker Engine and Kubernetes on the cloud.
To get started with Build, see the [Packaging your software](building/packaging.md) page.
Bundle and package your code to run anywhere, from your local Docker Desktop,
to Docker Engine and Kubernetes on the cloud. To get started with Build,
see the [Packaging your software](building/packaging.md) page.
### Choosing a build driver
* **Choosing a build driver**
Run Buildx with different configurations depending on the scenario you are
working on, regardless of whether you are using your local machine or a remote
compute cluster, all from the comfort of your local working environment.
For more information on drivers, see the [drivers guide](buildx/drivers/index.md).
* **Optimizing builds with cache management**
Improve build performance by using a persistent shared build cache to avoid repeating costly operations such as package installations, downloading files from the internet, or code build steps.
### Optimizing builds with cache management
* **Creating build-once, run-anywhere with multi-platform builds**
Collaborate across platforms with one build artifact.
See [Build multi-platform images](buildx/multiplatform-images.md).
Improve build performance by using a persistent shared build cache to avoid
repeating costly operations such as package installations, downloading files
from the internet, or code build steps.
### Automating your builds
### Creating build-once, run-anywhere with multi-platform builds
* **Integrating with GitHub**
Automate your image builds to run in GitHub actions using the official docker build actions. See:
* [GitHub Action to build and push Docker images with Buildx](https://github.com/docker/build-push-action).
* [GitHub Action to extract metadata from Git reference and GitHub events](https://github.com/docker/metadata-action/).
Collaborate across platforms with one build artifact. See [Build multi-platform images](buildx/multiplatform-images.md).
* **Orchestrating builds across complex projects together**
Connect your builds together and easily parameterize your images using buildx bake.
## Automating your builds
### Integrating with GitHub
Automate your image builds to run in GitHub actions using the official docker
build actions:
* [GitHub Action to build and push Docker images with Buildx](https://github.com/docker/build-push-action).
* [GitHub Action to extract metadata from Git reference and GitHub events](https://github.com/docker/metadata-action/).
### Orchestrating builds across complex projects together
Connect your builds together and easily parameterize your images using buildx bake.
See [High-level build options with Bake](bake/index.md).
### Customizing your Builds
## Customizing your Builds
* **Select your build output format**
Choose from a variety of available output formats, to export any artifact you like from BuildKit, not just docker images.
See [Set the export action for the build result](../engine/reference/commandline/buildx_build.md/#output).
### Select your build output format
* **Managing build secrets**
Securely access protected repositories and resources at build time without leaking data into the final build or the cache.
Choose from a variety of available output formats, to export any artifact you
like from BuildKit, not just docker images. See [Set the export action for the build result](../engine/reference/commandline/buildx_build.md#output).
### Extending BuildKit
### Managing build secrets
* **Custom syntax on Dockerfile**
Use experimental versions of the Dockerfile frontend, or even just bring your own to BuildKit using the power of custom frontends.
See also the [Syntax directive](../engine/reference/builder/#syntax).
Securely access protected repositories and resources at build time without
leaking data into the final build or the cache.
* **Configure BuildKit**
Take a deep dive into the internal BuildKit configuration to get the most out of your builds.
See also [`buildkitd.toml`](https://github.com/moby/buildkit/blob/master/docs/buildkitd.toml.md), the configuration file for `buildkitd`.
## Extending BuildKit
### Custom syntax on Dockerfile
Use experimental versions of the Dockerfile frontend, or even just bring your
own to BuildKit using the power of custom frontends. See also the
[Syntax directive](../engine/reference/builder/#syntax).
### Configure BuildKit
Take a deep dive into the internal BuildKit configuration to get the most out
of your builds. See also [`buildkitd.toml`](https://github.com/moby/buildkit/blob/master/docs/buildkitd.toml.md),
the configuration file for `buildkitd`.