适用于 Windows 的 Docker 的 DOCKER_BUILDKIT?

问题描述 投票:0回答:5

我们正在尝试使用 DOCKER_BUILDKIT 访问 Docker 的一些实验性功能。我们发现这在 Mac 和 Linux 上运行良好,但在 Windows 上不行。知道如何让它在 Windows 上运行吗?

windows docker containers
5个回答
12
投票

构建 Windows 映像的能力是 buildkit 的一个“已知限制”。如果您对该功能感兴趣,可以订阅路线图上的此问题并投票:

https://github.com/microsoft/Windows-Containers/issues/34

否则,为了构建 Linux 映像,buildkit 在 Docker for Windows 上的工作方式应与在其他环境中相同,只需在 daemon.json 文件中设置功能标志的

DOCKER_BUILDKIT=1

环境变量(可从 Docker 首选项 UI 进行配置) ):

{ "features": { "buildkit": true } }

请注意,环境变量会覆盖引擎上的功能标志。您还可以使用 buildx,这是访问 buildkit 的另一种方法。这与直接访问 buildkit 具有相同的限制(主要是无法构建 Windows 映像)。


4
投票

尝试将以下内容添加到您的 daemon.json 中:

"features": { "buildkit": true }



4
投票

# for docker build ... $env:DOCKER_BUILDKIT = 1 # for docker-compose build ... (additional!) $env:COMPOSE_DOCKER_CLI_BUILD = 1

这对我有用,无需对设置进行任何更改(如其他一些答案中所述)。


1
投票

{ "registry-mirrors": [], "insecure-registries": [], "debug": true, "experimental": false, "features": { "buildkit": true } }

“特点”:{
我相信“buildkit”:true}默认设置为true。
但请注意,调试设置为 true,而默认情况下它设置为 false。
所以你可能需要改变它。

其次。最明显的事情在文档中很难找到。 与 ubuntu 不同,您实际上并不在构建指令的开头添加 DOCKER_BUILDKIT=1。

就我个人而言,这对我来说非常令人困惑,因为我已经习惯了在 Linux 系统中添加这个短语。但在 Windows 中,如果启用如上所示的选项,buildkit 选项将始终默认触发。


0
投票
BuildKit 0.13.0

,2024 年第 1 季度:

实验性 Windows 容器支持

v0.13

开始,Buildkit 现在对 Windows 容器 (WCOW) 提供实验性支持。

buildctl.exe
buildkitd.exe
二进制文件均已发布用于测试目的。
随着我们稳定产品,特别是

buildkitd.exe

,我们将通过在此处打开问题欢迎任何反馈。

快速入门指南

平台要求

架构:
    amd64
  • arm64
    (二进制文件可用,但尚未正式测试)。
    支持的操作系统:Windows Server 2019、Windows Server 2022、Windows 11。
  • 基础图像:
  • ServerCore:ltsc2019
  • ServerCore:ltsc2022
    NanoServer:ltsc2022
    。请参阅此处
    兼容性图
© www.soinside.com 2019 - 2024. All rights reserved.