问题描述
我刚刚启动了新的 AWS t4g linux/arm64 实例,但在其上运行 docker 映像时遇到问题。
我使用 docker-compose.yml 3.7 版,并使用 gitlab CI runners 来构建映像。 我已经阅读了官方文档,但是当谈到实际工作时,它有点令人困惑,因为我尝试了多种方法来为 linux/arm64 构建映像,但到目前为止都没有奏效。
在 this article 中,它说 --platform
不支持 docker-compose.yml v3
而在 official documentation 中它说 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 构建映像?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)