AWS本地构建认为某些东西太旧了但不会说是什么

问题描述 投票:0回答:1

我尝试设置 AWS codebuild,以便可以在 AWS 上进行本地构建。我遵循了 https://docs.aws.amazon.com/codebuild/latest/userguide/use-codebuild-agent.html

上的指导

完成设置后,我运行

$ codebuild_build.sh -i my-builder -a /tmp/aws-codebuild 
Build Command:

docker run -it -v /var/run/docker.sock:/var/run/docker.sock -e "IMAGE_NAME=my-builder" -e "ARTIFACTS=/tmp/aws-codebuild" -e "SOURCE=/home/myuser/mystore-aws/mystore/build-environment" -e "INITIATOR=myuser" public.ecr.aws/codebuild/local-builds:latest

ERROR: client version 1.22 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version
ERROR: client version 1.22 is too old. Minimum supported API version is 1.24, please upgrade your client to a newer version

哪里得到1.22或1.24?

我在奔跑

  • Ubuntu 23.10
  • docker --版本是 25.0.3
  • docker-compose --版本是 1.29.2

请告诉我我做错了什么。什么太旧了,在哪里升级?如果它是一些 Docker-compose 文件,请告诉我它是在哪里挖掘的。

amazon-web-services aws-codebuild
1个回答
0
投票

因为用于构建的 Docker 映像 (public.ecr.aws/codebuild/local-builds:latest) 的内部 docker-compose 版本和 docker-compose.yml 版本已过时。
从 Docker Engine 版本 25.x.x 开始,支持的 API 版本已增加至 1.24。

作为解决方法,我建议将 Docker Engine 版本降级到 24。

仅供参考:

codebuild_build.sh
在构建过程中使用本地 Docker 守护进程。 (
-v /var/run/docker.sock:/var/run/docker.sock
)
所以我们需要在 local-builds 中匹配本地 Docker 守护进程和 Docker Compose 的版本。

© www.soinside.com 2019 - 2024. All rights reserved.