Docker Buildx如何禁用多平台并行构建?

3

我有一个Docker构建镜像的过程,但在构建过程中需要运行服务器进行某些管理配置。运行服务器会占用一个端口,在多平台构建时,这会与docker buildx命令发生冲突,因为它声称该端口已经被使用。

现在我想按顺序而不是并行方式运行构建过程,但似乎没有这样的选项?

我尝试通过将CPU设置为1(--cpuset-cpus 1)来解决此问题,但似乎没有任何改变。

docker buildx build --platform=linux/amd64,linux/arm64/v8 --cpuset-cpus 1 --push -t ivonet/payara .

这个构建是否可以禁用并行来运行?

2个回答


0

我现在已经进行了一些研究,除了看起来目前似乎无法禁用并行处理外,我并没有找到一个令人满意的答案。

不过,我找到了一个对我有效且很好地绕过了这个问题的解决方法。我现在使用实际的远程服务器来构建我所需的目标平台。

简而言之,你可以通过ssh定义一个安装有docker的远程服务器,并配置它来构建特定的目标。这样它就可以真正并行运行,因为不同的物理机器可以处理形式上重叠的端口号(这正是我的使用场景中出现的问题)。

在此处阅读完整的博客文章here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接