Code Build使用corretto8镜像挂载EFS失败:stunnel进程启动失败求助
解决Code Build搭配EFS缓存时stunnel启动失败的问题
问题分析
报错A stunnel process is required for curated image EFS builds and it did not start: exit status 127的核心原因是你使用的aws/codebuild/amazonlinux2-x86_64-standard:corretto8镜像默认未预装stunnel工具,而AWS Code Build的EFS集成依赖该工具建立加密通信隧道,之前的standard:3.0镜像预装了该工具,所以能正常运行。
解决方案
直接在Buildspec文件的前置阶段手动安装stunnel即可,具体操作如下:
修改Buildspec.yml配置
在install阶段添加yum安装命令:
version: 0.2 phases: install: commands: # 安装EFS依赖的stunnel工具 - yum install -y stunnel pre_build: commands: # 可选:验证stunnel是否安装成功,用于调试 - stunnel -v build: commands: # 替换为你的实际构建命令 - echo "执行构建任务..."
额外排查点(若安装后仍报错)
- 确认Code Build服务角色已配置EFS相关权限:
elasticfilesystem:ClientMount、elasticfilesystem:ClientWrite、elasticfilesystem:ClientRootAccess - 检查EFS文件系统的安全组,是否允许Code Build环境的安全组访问NFS端口(2049)
- 确认EFS挂载路径的配置正确,且目标目录在构建环境中可访问
备用方案(yum安装失败时)
如果镜像的yum源无法获取stunnel,可手动编译安装:
# 安装编译依赖 - yum install -y gcc openssl-devel # 下载并编译stunnel - curl -O https://www.stunnel.org/downloads/stunnel-5.68.tar.gz - tar -xzf stunnel-5.68.tar.gz - cd stunnel-5.68 - ./configure - make && make install
内容的提问来源于stack exchange,提问作者ijazahmed Bagawan
相关产品推荐
相关产品推荐

