gpt4 book ai didi

docker - AWS 本地构建 (CodeBuild) 使用 wsl2 传递凭证文件

转载 作者:行者123 更新时间:2023-12-05 06:03:56 25 4
gpt4 key购买 nike

我将我的 docker 桌面升级到版本 3.2.1 (61626),并选择使用 wsl2,之后我无法运行 AWS CodeBuild 的本地构建,因为找不到 AWS 配置,我使用的命令是(我使用我从商店安装的 ubuntu 20 从 Windows 终端的选项卡运行命令:

./codebuild_build.sh -i aws/codebuild/standard:5.0 -a ./ -s ./  -b ./buildspec.yml  -c ~/.aws

该命令适用于使用 Hyper-V 的 docker 版本,升级到 wsl2 后出现错误:

agent_1  | [Container] 2021/03/05 21:04:05 Phase complete: DOWNLOAD_SOURCE State: FAILED
agent_1 | [Container] 2021/03/05 21:04:05 Phase context status code: Decrypted Variables Error Message: MissingRegion: could not find region configuration

生成的 docker 命令如下:

docker run -it -v /var/run/docker.sock:/var/run/docker.sock -e "IMAGE_NAME=aws/codebuild/standard:5.0" -e "ARTIFACTS=/mnt/c/[redacted]" -e "SOURCE=/mnt/c/[redacted]" -e "BUILDSPEC=/mnt/c/[redacted]" -e "AWS_CONFIGURATION=NONE" -e "INITIATOR=[redacted]" amazon/aws-codebuild-local:latest

编辑:从 git bash 运行命令生成的命令是:

winpty docker run -it -v //var/run/docker.sock:/var/run/docker.sock -e "IMAGE_NAME=aws/codebuild/standard:5.0" -e "ARTIFACTS=//C/[redacted]" -e "SOURCE=//C/[redacted]" -e "BUILDSPEC=//C/[redacted]" -e "AWS_CONFIGURATION=//C/Users/[redacted]/.aws" -e "INITIATOR=[redacted]" amazon/aws-codebuild-local:latest

但也因错误而失败:

agent_1  | [Container] 2021/03/05 22:17:43 Phase complete: DOWNLOAD_SOURCE State: FAILED
agent_1 | [Container] 2021/03/05 22:17:43 Phase context status code: YAML_FILE_ERROR Message: stat /codebuild/output/srcDownload/src/buildspec.pr.yml: no such file or directory

使用前面的命令,变量 AWS_CONFIGURATION 有我的 .aws 文件夹的路径,我试过 -c//c/Users/[myProfile]/.aws 和/mnt/c/Users/[myProfile]/.aws但 AWS_CONFIGURATION 始终为 NONE

是否有我缺少的配置?或者我需要使用 wsl2 添加额外的步骤?

编辑:我安装了 Ubuntu 18 并以同样的方式失败。

最佳答案

我遇到了类似的问题。我意识到,因为我必须使用 sudo 以 root 身份运行 docker命令,我的主目录现在是 /root而不是 /home/<username> .

可能有更好的解决方法,但我对文件夹 /home/<username>/.aws 进行了符号链接(symbolic link)至 /root/.aws .

此外,您可以使用 -e 通过环境文件传递变量 AWS_SECRET_ACCESS_KEY、AWS_SESSION_TOKEN 和 AWS_ACCESS_KEY_ID codebuild_build.sh 的标志命令。

关于docker - AWS 本地构建 (CodeBuild) 使用 wsl2 传递凭证文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66500125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com