CircleCI构建时报Unknown flag: --platform错误的解决方法
CircleCI 执行docker build出现
unknown flag: --platform错误解决方案 问题原因
docker build的--platform参数是Docker 19.03版本正式引入的功能,用于跨架构构建镜像。
CircleCI默认的machine: true配置对应的虚拟机镜像预装的Docker版本低于19.03,无法识别该参数,因此会抛出125退出码的错误。本地环境Docker版本较高所以可以正常运行。
解决方案
直接替换machine: true配置,指定使用预装高版本Docker的Ubuntu镜像即可,修改后的job配置示例:
jobs: build-back: machine: image: ubuntu-2004:202010-01 steps: - checkout - run: docker build back -t efiscia/api --platform linux/ppc64le - run: echo "$DOCKER_PWD" | docker login -u $DOCKER_LOGIN --password-stdin - run: docker push efiscia/api # 其余build-front、build-proxy job的machine配置同步修改即可
补充说明
ubuntu-2004:202010-01镜像预装的Docker版本为19.03.13,原生支持--platform参数,无需额外安装依赖或开启实验性功能,修改配置后重新运行工作流即可正常完成跨架构构建。
如果需要使用其他machine镜像,也可以在steps的最前面添加Docker版本升级命令,完成版本升级后再执行构建操作,只是操作复杂度高于直接指定高版本镜像。
内容的提问来源于stack exchange,提问作者Joyescat
相关产品推荐
相关产品推荐

