据我所知,class FooClass {
static foo(data: string): string
static foo(data: NotAString): Error
static foo(data: any): string | Error {
if (typeof data === 'string') {
return 'a';
} else {
return new Error();
}
}
}
let foo1: string;
const bar1: string = FooClass.foo(foo1); // No error
let foo2: any;
const bar2: string = FooClass.foo(foo2); // No error
let foo3: number;
const bar3: string = FooClass.foo(foo3); // Error (displayed on the IDE)
let foo4: Bar;
const bar4: string = FooClass.foo(foo4); // Error (displayed on the IDE)
将使用您在 docker buildx build --push
参数中指定的架构覆盖现有的映像架构。据我了解,在使用 --platform
时,您必须同时构建和推动所有架构。但是,我知道官方的 docker 镜像使用 arm64 build farm 来构建 linux/arm64 镜像。这怎么可能?他们只使用buildx
而不使用docker push
吗?如果是这样,是否意味着 buildx
不会像 docker push
那样覆盖现有架构?如果我想在不同的机器上构建和推送多个架构,最好的方法是什么?
答案 0 :(得分:0)
您可以在集群中的不同主机上使用单独的命令构建和推送,每个命令发送到不同的标签。然后在推送每个平台的所有标签后,您可以使用 docker manifest
创建一个多平台清单,该清单指向具有单个标签的所有图像。此工具目前需要启用实验性支持。
有关 docker manifest
的更多详细信息可以在文档中找到:https://docs.docker.com/engine/reference/commandline/manifest/