在 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 ECS 容器服务何时更改状态?

如何在 AWS CodeBuild 上运行 docker-compose?

Puppeteer 无法在 AWS CodeBuild 上运行 Chrome

AWS Batch 与 AWS CodeBuild