11 KiB
| title | description | keywords | tags | toc_max | |
|---|---|---|---|---|---|
| Dockerfile release notes | Release notes for Dockerfile frontend | build, dockerfile, frontend, release notes |
|
2 |
This page contains information about the new features, improvements, known issues, and bug fixes in Dockerfile reference.
For usage, see the Dockerfile frontend syntax page.
1.7.0
{{< release-date date="2024-03-06" >}}
Stable
# syntax=docker/dockerfile:1.7
- Variable expansion now allows string substitutions and trimming. moby/buildkit#4427, moby/buildkit#4287
- Named contexts with local sources now correctly transfer only the files used in the Dockerfile instead of the full source directory. moby/buildkit#4161
- Dockerfile now better validates the order of stages and returns nice errors with stack traces if stages are in incorrect order. moby/buildkit#4568, moby/buildkit#4567
- History commit messages now contain flags used with
COPYandADD. moby/buildkit#4597 - Progress messages for
ADDcommands from Git and HTTP sources have been improved. moby/buildkit#4408
Labs
# syntax=docker/dockerfile:1.7-labs
- New
--parentsflag has been added toCOPYfor copying files while keeping the parent directory structure. moby/buildkit#4598, moby/buildkit#3001, moby/buildkit#4720, moby/buildkit#4728, docs - New
--excludeflag can be used inCOPYandADDcommands to apply filter to copied files. moby/buildkit#4561, docs
1.6.0
{{< release-date date="2023-06-13" >}}
New
- Add
--start-intervalflag to theHEALTHCHECKinstruction.
The following features have graduated from the labs channel to stable:
- The
ADDinstruction can now import files directly from Git URLs - The
ADDinstruction now supports--checksumflag to validate the contents of the remote URL contents
Bug fixes and enhancements
- Variable substitution now supports additional POSIX compatible variants without
:. moby/buildkit#3611 - Exported Windows images now contain OSVersion and OSFeatures values from base image. moby/buildkit#3619
- Changed the permissions for Heredocs to 0644. moby/buildkit#3992
1.5.2
{{< release-date date="2023-02-14" >}}
Bug fixes and enhancements
- Fix building from Git reference that is missing branch name but contains a subdir
- 386 platform image is now included in the release
1.5.1
{{< release-date date="2023-01-18" >}}
Bug fixes and enhancements
- Fix possible panic when warning conditions appear in multi-platform builds
1.5.0 (labs)
{{< release-date date="2023-01-10" >}}
{{< include "dockerfile-labs-channel.md" >}}
New
ADDcommand now supports--checksumflag to validate the contents of the remote URL contents
1.5.0
{{< release-date date="2023-01-10" >}}
New
ADDcommand can now import files directly from Git URLs
Bug fixes and enhancements
- Named contexts now support
oci-layout://protocol for including images from local OCI layout structure - Dockerfile now supports secondary requests for listing all build targets or printing outline of accepted parameters for a specific build target
- Dockerfile
#syntaxdirective that redirects to an external frontend image now allows the directive to be also set with//comments or JSON. The file may also contain a shebang header - Named context can now be initialized with an empty scratch image
- Named contexts can now be initialized with an SSH Git URL
- Fix handling of
ONBUILDwhen importing Schema1 images
1.4.3
{{< release-date date="2022-08-23" >}}
Bug fixes and enhancements
- Fix creation timestamp not getting reset when building image from
docker-image://named context - Fix passing
--platformflag ofFROMcommand when loadingdocker-image://named context
1.4.2
{{< release-date date="2022-05-06" >}}
Bug fixes and enhancements
- Fix loading certain environment variables from an image passed with built context
1.4.1
{{< release-date date="2022-04-08" >}}
Bug fixes and enhancements
- Fix named context resolution for cross-compilation cases from input when input is built for a different platform
1.4.0
{{< release-date date="2022-03-09" >}}
New
COPY --linkandADD --linkallow copying files with increased cache efficiency and rebase images without requiring them to be rebuilt.--linkcopies files to a separate layer and then uses new LLB MergeOp implementation to chain independent layers together- Heredocs support have been promoted from labs channel to stable. This feature allows writing multiline inline scripts and files
- Additional named build contexts can be passed to build to add or overwrite a stage or an image inside the build. A source for the context can be a local source, image, Git, or HTTP URL
BUILDKIT_SANDBOX_HOSTNAMEbuild-arg can be used to set the default hostname for theRUNsteps
Bug fixes and enhancements
- When using a cross-compilation stage, the target platform for a step is now seen on progress output
- Fix some cases where Heredocs incorrectly removed quotes from content
1.3.1
{{< release-date date="2021-10-04" >}}
Bug fixes and enhancements
- Fix parsing "required" mount key without a value
1.3.0 (labs)
{{< release-date date="2021-07-16" >}}
{{< include "dockerfile-labs-channel.md" >}}
New
RUNandCOPYcommands now support Here-document syntax allowing writing multiline inline scripts and files
1.3.0
{{< release-date date="2021-07-16" >}}
New
RUNcommand allows--networkflag for requesting a specific type of network conditions.--network=hostrequires allowingnetwork.hostentitlement. This feature was previously only available on labs channel
Bug fixes and enhancements
ADDcommand with a remote URL input now correctly handles the--chmodflag- Values for
RUN --mountflag now support variable expansion, except for thefromfield - Allow
BUILDKIT_MULTI_PLATFORMbuild arg to force always creating multi-platform image, even if only contains single platform
1.2.1 (labs)
{{< release-date date="2020-12-12" >}}
{{< include "dockerfile-labs-channel.md" >}}
Bug fixes and enhancements
RUNcommand allows--networkflag for requesting a specific type of network conditions.--network=hostrequires allowingnetwork.hostentitlement
1.2.1
{{< release-date date="2020-12-12" >}}
Bug fixes and enhancements
- Revert "Ensure ENTRYPOINT command has at least one argument"
- Optimize processing
COPYcalls on multi-platform cross-compilation builds
1.2.0 (labs)
{{< release-date date="2020-12-03" >}}
{{< include "dockerfile-labs-channel.md" >}}
Bug fixes and enhancements
- Experimental channel has been renamed to labs
1.2.0
{{< release-date date="2020-12-03" >}}
New
RUN --mountsyntax for creating secret, ssh, bind, and cache mounts have been moved to mainline channelARGcommand now supports defining multiple build args on the same line similarly toENV
Bug fixes and enhancements
- Metadata load errors are now handled as fatal to avoid incorrect build results
- Allow lowercase Dockerfile name
--chownflag inADDnow allows parameter expansionENTRYPOINTrequires at least one argument to avoid creating broken images
1.1.7
{{< release-date date="2020-04-18" >}}
Bug fixes and enhancements
- Forward
FrontendInputsto the gateway
1.1.2 (experimental)
{{< release-date date="2019-07-31" >}}
{{< include "dockerfile-labs-channel.md" >}}
Bug fixes and enhancements
- Allow setting security mode for a process with
RUN --security=sandbox|insecure - Allow setting uid/gid for cache mounts
- Avoid requesting internally linked paths to be pulled to build context
- Ensure missing cache IDs default to target paths
- Allow setting namespace for cache mounts with
BUILDKIT_CACHE_MOUNT_NSbuild arg
1.1.2
{{< release-date date="2019-07-31" >}}
Bug fixes and enhancements
- Fix workdir creation with correct user and don't reset custom ownership
- Fix handling empty build args also used as
ENV - Detect circular dependencies
1.1.0
{{< release-date date="2019-04-27" >}}
New
ADD/COPYcommands now support implementation based onllb.FileOpand do not require helper image if builtin file operations support is available--chownflag forCOPYcommand now supports variable expansion
Bug fixes and enhancements
- To find the files ignored from the build context Dockerfile frontend will
first look for a file
<path/to/Dockerfile>.dockerignoreand if it is not found.dockerignorefile will be looked up from the root of the build context. This allows projects with multiple Dockerfiles to use different.dockerignoredefinitions