【问题标题】:Why is my Docker container stuck in a state of "Created"?为什么我的 Docker 容器卡在“已创建”状态?
【发布时间】:2021-09-23 07:42:52
【问题描述】:

我正在尝试使用 Bitbucket Pipelines 和 AWS CodeDeploy 部署到 EC2。我已经完成所有设置,以便 CodeDeploy 代理的上传步骤正常工作,只是当我尝试在部署步骤中运行语句时,我的 script.sh /usr/local/bin/docker-compose -f /home/ec2-user/my-app/docker-compose.yml run --rm composer install 失败。

其他一切正常,如果我删除此步骤,它会成功部署。如果我尝试手动执行此命令,它也可以工作,并且该容器会运行,然后按应有的方式退出。在来这里之前,我已经检查了权限,更改了我的 IAM 设置并完成了我能想到的所有事情。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 bitbucket-pipelines aws-code-deploy bitbucket-aws-code-deploy


    【解决方案1】:

    因此,经过长时间的搜索、运行无数管道部署并连续数周敲定构建时间后,我终于找到了问题的根源,并希望这可以帮助遇到同样问题的任何人。

    这是一个权限问题,无法运行 docker-compose run 等执行命令。使用 AWS Code Deploy,我们通常以 root 身份运行 appspec.yml 中生命周期挂钩的脚本。但是,AWSCodeDeployRole 需要完全权限 - 在我的情况下,这是针对 EC2 的,因此缺少需要附加到 AWSCodeDeployRole 的 AmazonEC2FullAccess 策略。还将 ec2.amazonaws.com 添加到 JSON 信任策略中,这对我有用……2 个月后!

    【讨论】:

      猜你喜欢
      • 2022-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-19
      • 2020-08-23
      • 2022-11-03
      相关资源
      最近更新 更多