3

我刚刚启动了新的 AWS t4g linux/arm64 实例,在其上运行 docker 映像时遇到了问题。

我正在使用 docker-compose.yml 3.7 版,并使用 gitlab CI 运行器来构建图像。我已经阅读了官方文档,但是当谈到实际工作时它有点令人困惑,因为我尝试了几种方法来为 linux/arm64 构建映像,但到目前为止都没有工作。

这篇文章中,它说不--platform支持它,docker-compose.yml v3并且在官方文档中它说buildx应该包含在 19.3 版本中(我假设它应该适用于 19.3 和更高版本,因为我的实际 Docker 引擎版本是 20.10.3),但没有任何作用。

这是我用于构建 ELK(弹性堆栈)的 gitlab-ci.yml,它失败了,因为--platform我猜这里不支持。

docker-build-elk:
  # Official docker image.
  image: docker/compose
  stage: build
  services:
    - docker info
    - docker:dind
  before_script:
    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
  script:
    # pull dev image for caching
    - docker pull ${CI_REGISTRY_IMAGE}:elk || true
    - docker-compose -f ./elk/docker-compose.elastic.yml build --platform linux/arm64
  after_script:
    - docker push ${CI_REGISTRY_IMAGE}:elk
  only:
    - elk

我还尝试将 ENV 与

 - docker-compose -f ./elk/docker-compose.elastic.yml build --build-arg DOCKER_BUILDKIT=1 --build-arg COMPOSE_DOCKER_CLI_BUILD=1

由于它被报告为 v3 的错误,有没有办法让它工作/或为 arm64 构建映像?

4

0 回答 0