如何将 docker buildx 构建到本地“注册表”容器中

thr*_*ive 6 docker buildx

我正在尝试构建一个多架构映像,但希望避免将其推送到 docker hub。我在寻找如何控制导出选项方面遇到了很多麻烦。有没有办法让“--push”推送到我选择的注册表?

任何帮助表示赞赏

BMi*_*tch 0

图像是使用“引用”来指定的,该“引用”被解析以识别图像被推送或拉出的位置。该引用包括注册表、存储库和标签。如果排除注册表,则默认使用 Docker Hub。如果排除该标签,latest则使用默认值。语法如下:

registry.example.org/some/repository:tag
Run Code Online (Sandbox Code Playgroud)

因此,要将映像推送到您自己的注册表,您需要在构建的映像名称中指定该注册表:

registry.example.org/some/repository:tag
Run Code Online (Sandbox Code Playgroud)

可以在buildkitd.toml中定义注册表的其他配置选项。Buildx 还允许其他输出类型,但是,在过渡到 Containerd 进行映像管理之前推送到docker 引擎将仅支持单个平台。