我们正在尝试使用 DOCKER_BUILDKIT 访问 Docker 的一些实验性功能。我们发现这在 Mac 和 Linux 上运行良好,但在 Windows 上不行。知道如何让它在 Windows 上运行吗?
构建 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 映像)。
# for docker build ...
$env:DOCKER_BUILDKIT = 1
# for docker-compose build ... (additional!)
$env:COMPOSE_DOCKER_CLI_BUILD = 1
这对我有用,无需对设置进行任何更改(如其他一些答案中所述)。
{
"registry-mirrors": [],
"insecure-registries": [],
"debug": true,
"experimental": false,
"features": {
"buildkit": true
}
}
“特点”:{ 我相信“buildkit”:true}默认设置为true。 但请注意,调试设置为 true,而默认情况下它设置为 false。 所以你可能需要改变它。
其次。最明显的事情在文档中很难找到。 与 ubuntu 不同,您实际上并不在构建指令的开头添加 DOCKER_BUILDKIT=1。
就我个人而言,这对我来说非常令人困惑,因为我已经习惯了在 Linux 系统中添加这个短语。但在 Windows 中,如果启用如上所示的选项,buildkit 选项将始终默认触发。
从
v0.13
开始,Buildkit 现在对 Windows 容器 (WCOW) 提供实验性支持。
和buildctl.exe
二进制文件均已发布用于测试目的。随着我们稳定产品,特别是buildkitd.exe
buildkitd.exe
,我们将通过在此处打开问题欢迎任何反馈。
快速入门指南平台要求
架构: