Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Codeship:从Docker映像部署到EC2容器服务_Ruby On Rails_Docker_Continuous Deployment_Aws Cli_Amazon Ecs - Fatal编程技术网

Ruby on rails Codeship:从Docker映像部署到EC2容器服务

Ruby on rails Codeship:从Docker映像部署到EC2容器服务,ruby-on-rails,docker,continuous-deployment,aws-cli,amazon-ecs,Ruby On Rails,Docker,Continuous Deployment,Aws Cli,Amazon Ecs,我有一个使用Codeship Pro的项目,我已经成功地推送到Docker Hub,之后我想用它将我的项目推送到AWS EC2容器服务 我遵循了以下文件: 问题在文档中,它没有解释deploy/tasks/backend.json包含什么, 我试图在codeship-steps.yml中删除它 - service: awsdeployment command: aws ecs update-service --service my-backend-service --task-defini

我有一个使用Codeship Pro的项目,我已经成功地推送到Docker Hub,之后我想用它将我的项目推送到AWS EC2容器服务

我遵循了以下文件:

问题在文档中,它没有解释deploy/tasks/backend.json包含什么, 我试图在codeship-steps.yml中删除它

- service: awsdeployment
  command: aws ecs update-service --service my-backend-service --task-definition backend
但结果是:调用UpdateService操作时发生错误(ClientException):找不到TaskDefinition

目前,我使用

ecs-cli compose up
它使用我的docker-compose.yml将我的项目推送到我的EC2容器服务

我花了很长一天的时间才弄明白,但我仍然不知道如何成功地推送到我的AWS ECS,我无法在推送shipcode时使用ECS cli命令。
我该怎么办

aws ecs
命令正在调用aws CLI(该CLI预先安装在用于部署到aws的映像中)。所需选项在AWS CLI文档中有更详细的说明,请参阅ECS的
更新服务
命令。我们是否可以像我在codeship服务上使用的那样使用ECS CLI命令:“ECS CLI compose up”?不是通过我们提供的容器,因为它只安装了AWS CLI,而是安装了AWS ECS CLI。但是,您可以在安装了ECS CLI的情况下构建Docker映像(或在Docker Hub上搜索),然后使用该映像运行命令。好的,通过aws注册表(ECR)推送如何?它似乎比使用AWS-CLI更简单。我已经试过了,但最后,它说的用户名是错误的,尽管我在dockercfg文件中包含了身份验证。有可能使用这种方法吗?来源:当然,您可以使用我们关于推送到远程注册表的通用教程,请参阅与AWS ECR的dockercfg生成器结合使用,
ecs-cli compose up