From 9fe31e95f65169a632e9bfc16089bd9fb970eb11 Mon Sep 17 00:00:00 2001 From: David Karlsson <35727626+dvdksn@users.noreply.github.com> Date: Fri, 12 Jan 2024 17:42:49 +0100 Subject: [PATCH] vendor: github.com/moby/buildkit 28ce478b1fde Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com> --- .../moby/buildkit/docs/buildkitd.toml.md | 3 + .../frontend/dockerfile/docs/reference.md | 84 ++++++++++++++++--- _vendor/modules.txt | 4 +- go.mod | 3 +- go.sum | 2 + 5 files changed, 82 insertions(+), 14 deletions(-) diff --git a/_vendor/github.com/moby/buildkit/docs/buildkitd.toml.md b/_vendor/github.com/moby/buildkit/docs/buildkitd.toml.md index 79d7ed1a77..eee6c2a760 100644 --- a/_vendor/github.com/moby/buildkit/docs/buildkitd.toml.md +++ b/_vendor/github.com/moby/buildkit/docs/buildkitd.toml.md @@ -12,7 +12,10 @@ note some configuration is only good for edge cases, please take care of it carefully. ```toml +# debug enables additional debug logging debug = true +# trace enables additional trace logging (very verbose, with potential performance impacts) +trace = true # root is where all buildkit state is stored. root = "/var/lib/buildkit" # insecure-entitlements allows insecure entitlements, disabled by default. diff --git a/_vendor/github.com/moby/buildkit/frontend/dockerfile/docs/reference.md b/_vendor/github.com/moby/buildkit/frontend/dockerfile/docs/reference.md index b474e1716d..6d0447df75 100644 --- a/_vendor/github.com/moby/buildkit/frontend/dockerfile/docs/reference.md +++ b/_vendor/github.com/moby/buildkit/frontend/dockerfile/docs/reference.md @@ -188,11 +188,22 @@ The following parser directives are supported: -This feature is only available when using the [BuildKit](https://docs.docker.com/build/buildkit/) -backend, and is ignored when using the classic builder backend. +Use the `syntax` parser directive to declare the Dockerfile syntax version to +use for the build. If unspecified, BuildKit uses a bundled version of the +Dockerfile frontend. Declaring a syntax version lets you automatically use the +latest Dockerfile version without having to upgrade BuildKit or Docker Engine, +or even use a custom Dockerfile implementation. -See [Custom Dockerfile syntax](https://docs.docker.com/build/buildkit/dockerfile-frontend/) -page for more information. +Most users will want to set this parser directive to `docker/dockerfile:1`, +which causes BuildKit to pull the latest stable version of the Dockerfile +syntax before the build. + +```dockerfile +# syntax=docker/dockerfile:1 +``` + +For more information about how the parser directive works, see +[Custom Dockerfile syntax](https://docs.docker.com/build/buildkit/dockerfile-frontend/). ### escape @@ -346,6 +357,20 @@ directive in your Dockerfile: string=foobarbaz echo ${string%%b*} # foo ``` +- `${variable/pattern/replacement}` replace the first occurrence of `pattern` + in `variable` with `replacement` + + ```bash + string=foobarbaz echo ${string/ba/fo} # fooforbaz + ``` + +- `${variable//pattern/replacement}` replaces all occurrences of `pattern` + in `variable` with `replacement` + + ```bash + string=foobarbaz echo ${string//ba/fo} # fooforfoz + ``` + In all cases, `word` can be any string, including additional environment variables. @@ -589,7 +614,7 @@ RUN apt-get update RUN apt-get install -y curl ``` -You can specify `CMD` instructions using +You can specify `RUN` instructions using [shell or exec forms](#shell-and-exec-form): - `RUN ["executable","param1","param2"]` (exec form) @@ -2651,25 +2676,62 @@ FILE2 ### Example: Creating inline files -In `COPY` commands source parameters can be replaced with here-doc indicators. +With `COPY` instructions, you can replace the source parameter with a here-doc +indicator to write the contents of the here-document directly to a file. The +following example creates a `greeting.txt` file containing `hello world` using +a `COPY` instruction. + +```dockerfile +# syntax=docker/dockerfile:1 +FROM alpine +COPY <