在 AWS CodeBuild 中运行容器的权限错误
Posted
技术标签:
【中文标题】在 AWS CodeBuild 中运行容器的权限错误【英文标题】:Permission Error Running Container in AWS CodeBuild 【发布时间】:2021-02-19 06:33:10 【问题描述】:我正在尝试在 CodeBuild 中运行以下命令:
- docker run --rm -v $(pwd)/SQL:/flyway/SQL -v $(pwd)/conf:/flyway/conf flyway/flyway -enterprise -url=jdbc:postgresql://xxx.xxx.us-east-1.rds.amazonaws.com:5432/hamshackradio -dryRunOutput="/flyway/SQL/output.sql" migrate
我收到以下错误:
错误:无法使用 /flyway/SQL/output.sql 作为试运行输出: /flyway/SQL/output.sql (Permission denied) 原因: java.io.FileNotFoundException: /flyway/SQL/output.sql (权限 拒绝)
目标是捕获 output.sql 文件。在 Windows 上本地运行完全相同的命令(当然是调整路径)可以正常工作。问题不在于 Flyway 或整体指挥结构。这与在 AWS CodeBuild 上的 Ubuntu 上运行 Docker 容器的内部结构和那里的权限有关(可能是权限,也可能是其他东西,我是开放的)。
有人知道如何解决这个问题吗?
【问题讨论】:
【参考方案1】:您需要为您的 CodeBuild 项目启用Privileged Mode。
【讨论】:
我已经验证,通过重新创建 CodeBuild 项目,它绝对设置为特权模式。我仍然收到错误消息。以上是关于在 AWS CodeBuild 中运行容器的权限错误的主要内容,如果未能解决你的问题,请参考以下文章
AWS codeBuild 不运行 .ebextension 配置
Python cfn_tools 模块不会加载到在 AWS CodePipeline 中运行的 AWS CodeBuild 中
如何在 AWS CodeBuild 上运行 docker-compose?