未知标志:--CircleCI 构建期间的平台

Unknown flag: --platform during CircleCI build

我尝试使用 CircleCI 设置 CI/CD。我有以下配置:

.circleci/config.yml

version: 2.1

workflows:
  version: 2.1
  build:
    jobs:
      - build-back
      - build-front
      - build-proxy

jobs:
  build-back:
    machine: true
    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:
    machine: true
    steps:
      - checkout
      - run: docker build . -t efiscia/app --platform linux/ppc64le
      - run: echo "$DOCKER_PWD" | docker login -u $DOCKER_LOGIN --password-stdin
      - run: docker push efiscia/app

  build-proxy:
    machine: true
    steps:
      - checkout
      - run: docker build proxy -t efiscia/proxy --platform linux/ppc64le
      - run: echo "$DOCKER_PWD" | docker login -u $DOCKER_LOGIN --password-stdin
      - run: docker push efiscia/proxy

我需要使用 --platform,因为我的生产服务器与本地 OS 的架构不同。
但是当我推送代码时,出现以下错误:

#!/bin/bash -eo pipefail
docker build back -t efiscia/api --platform linux/ppc64le

unknown flag: --platform
See 'docker build --help'.

Exited with code exit status 125

CircleCI received exit code 125

我没有找到任何关于错误的信息:unknown flag: --platform
此问题仅在 circleci 中出现。在本地一切正常。
感谢任何帮助。

编辑:

我换了

machine: true

machine:
  image: ubuntu-2004:202010-01

现在可以使用了。

这可能是您使用非常旧版本的 Docker 的问题,因为您使用的是非常旧的图像。不要使用 machine: true,因为它已被弃用。使用较新的图像:https://circleci.com/docs/2.0/configuration-reference/#machine