Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker BuildX映像未显示在Docker映像ls中_Docker_Docker Buildkit_Docker Cli - Fatal编程技术网

Docker BuildX映像未显示在Docker映像ls中

Docker BuildX映像未显示在Docker映像ls中,docker,docker-buildkit,docker-cli,Docker,Docker Buildkit,Docker Cli,我目前正在尝试使用BuildKit/BuildX构建一个多平台映像(x86_64、arm64、armv7、armv6),它似乎构建成功,但我似乎找不到映像的位置。它与我以前的x86_64版本相比没有改变,当尝试docker将其推送到我的repo时,它表示所有层都已经存在,并且只存在一个平台。我用来构建映像的命令是: docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 -m 5120M -

我目前正在尝试使用BuildKit/BuildX构建一个多平台映像(x86_64、arm64、armv7、armv6),它似乎构建成功,但我似乎找不到映像的位置。它与我以前的x86_64版本相比没有改变,当尝试docker将其推送到我的repo时,它表示所有层都已经存在,并且只存在一个平台。我用来构建映像的命令是:

docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6 -m 5120M --no-cache --progress auto --pull -t frostedflakez/php-mysql-webserver:php-latest-7.4 --push ./
大楼建成后,我从航站楼得到的最后几行是:

 => exporting to image                                                                                                                                                     264.6s
 => => exporting layers                                                                                                                                                     46.1s
 => => exporting manifest sha256:585ca6c82887a6f0178007c905f11c7fbde5e6220b9c451892c40d2844b43403                                                                            0.0s
 => => exporting config sha256:0923c92918eb6fad44396000250f11946f38f6e1eb0d78ec916a794f395f526a                                                                              0.0s
 => => exporting manifest sha256:0b9fceb5f74bca71942ce3e1aa5fdf5ed0453e16aff53bec5d22a9c15233fbc2                                                                            0.0s
 => => exporting config sha256:ba19e5dab51b74549775cfbc1b0ce3961342a2c859050d98e68b6130ee276e91                                                                              0.0s
 => => exporting manifest sha256:540ef45e6b3cfec74af6a4c641b70009587b19b1fe5702338a9b93b409136b28                                                                            0.0s
 => => exporting config sha256:7be378e1831fa4bd00f1595bf4d511286c600d21ee245db567115fb85fdd24cc                                                                              0.0s
 => => exporting manifest sha256:9a339a6283db4ffe56c735d85306e87261aebe8a7f696984da67720f24d4ab73                                                                            0.0s
 => => exporting config sha256:e54fc6d23c38d1a119ba6781b868643d2ede87a8f5fe0e55a5874b140fbe235e                                                                              0.0s
 => => exporting manifest list sha256:d4ec48c69d17df29e5f8521a2ede6dd83cadc8868d2829621fd15dc0582916c2                                                                       0.0s
 => => pushing layers                                                                                                                                                      206.3s
 => => pushing manifest for docker.io/frostedflakez/php-mysql-webserver:php-latest-7.4                                                                                      12.0s

图像将直接推送到注册表:

无法将多平台映像推送到docker引擎。相反,引擎中的所有映像都是单平台的,您可以将多平台映像直接推送到所选注册表。您可以拉取映像以获取平台的版本:

docker image pull frostedflakez/php-mysql-webserver:php-latest-7.4
映像本身位于生成器缓存中,但无法从引擎访问该缓存。您可以通过以下方式查看该缓存大小:

docker system df
您可以使用以下方法清理此缓存:

docker builder prune

这是否意味着docker hub中的图像将与我选择的其他平台一起工作,但它们将显示为单个平台?我没有生成缓存。@NotAnerd如果创建了容器生成器,可能看不到缓存。现在查看您的回购,我没有看到清单列表,而且映像本身似乎不是使用buildkit生成的,因此您可能已覆盖它或推送失败。我使用了
docker buildx build
来生成映像。我试图再次重建它,但它似乎不知何故找到了另一个已经用它构建的图像,即使是在我修剪它的时候。我正在使用
--no cache
选项来构建它,这会影响清单吗?就多平台清单而言,构建multi-arch示例似乎工作得很好。@如果不使用缓存进行构建,则不会使用新清单创建新映像。如果您正在运行此命令,并且映像没有被推送到Docker Hub,那么您正在运行的命令中可能存在其他错误,我们在您的问题中看不到这些错误。它被推送到Docker Hub,但仍然保持为linux/amd64
docker builder prune