我尝试设置 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?
我在奔跑
请告诉我我做错了什么。什么太旧了,在哪里升级?如果它是一些 Docker-compose 文件,请告诉我它是在哪里挖掘的。
因为用于构建的 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
)