繁体   English   中英

如何使用cli将项目上传到Amazon ECS

[英]How to upload project into Amazon ECS using cli

我正在学习如何使项目交付自动化。 我能够创建集群,但是我陷入了必须将文件上传到EC2实例的步骤。

现在我正在运行这些命令

ecs-cli up --keypair my_keypair --capability-iam --size 1 --instance-type t2.micro --force

这将创建集群。 然后我为php和nginx创建docker容器。

ecs-cli compose up

这将创建容器,但不包含任何文件。

现在,如果我使用SSH 手动登录到EC2实例并创建phpinfo.php文件,那么我可以在浏览器中查看它,告诉我所有设置均正确。 但这是手动步骤。 如何自动推送项目文件?

可能是我不了解它是如何工作的,而且方向错误。 我看到的所有教程都使用现成的wordpress图像。 我没有部署wordpress图片。 我想部署phpinfo.php(例如)。

谢谢

version: '2'

services:
  nginx:
      image: tutum/nginx
      cpu_shares: 50
      mem_limit: 134217728
      ports:
          - "80:80"
      links:
          - phpfpm
      volumes:
          - /home/ec2-user/nginx/conf:/etc/nginx/sites-available/
          - /home/ec2-user/nginx/conf:/etc/nginx/sites-enabled/
          - /home/ec2-user/public:/var/www/html
  phpfpm:
      image: php-nginx-fpm:7.0.19-37
      cpu_shares: 50
      mem_limit: 134217728
      ports:
          - "9000:9000"
          - "3306:3306"
      volumes:
          - /home/ec2-user/public:/var/www/html

由于您使用的是ECS(弹性容器服务),因此需要首先对应用程序进行Dockerize,然后将生成的Docker映像上传到Amazon ECR :Elastic Container Registry。

为此,您需要进入EC2容器服务->注册表并为容器创建一个存储库。 然后配置

在你的源代码,你需要有建立你的容器Dockerfile:从基本映像,然后开始ADD荷兰国际集团源代码的容器。

一旦有了它,您要么需要构建构建服务器来构建并推送docker容器,要么只是从您的机器上手动完成。

您将ECS服务设置为使用来自ECR的docker映像,并且当您将docker push到ECR时,您将“更新”任务定义,以便其获取docker容器的最新版本。

您可以在开始时通过aws cli,通过Web控制台本身(单击单击)或通过某些基础设施配置工具(例如Cloudformation或Terraform)来设置ECS和ECR。 无论哪种方式浮动您的需求...

您可以使用S3存储桶轻松实现这一目标。 请按照以下步骤操作:

  1. 在S3中创建存储桶,然后使用控制台或以下命令从本地文件夹中将代码上传到S3

    aws s3同步。 s3:// mybucket

  2. 现在在AWS中创建EC2角色并添加S3读取权限。

  3. 将此角色分配给您的EC2实例。 现在,您的EC2有权下载代码。
  4. 每当您想在EC2中使用代码时,都可以使用以下命令下载(也可以在引导脚本中包含此命令)

    aws s3 sync s3:// mybucket。

好的部分是S3 sync命令将仅上载/下载增量文件。 因此,如果仅修改一个文件并执行上述命令,则只有修改后的文件将被上传到S3并下载到EC2。

您可以使用scp。 这使用ssh以一种更容易实现自动化的方式来复制文件。

scp file <sshtarget>:/path/to/file

如果您愿意更改部署过程,则可以使用CloudFormation模板。

本页介绍如何部署已包含文件的ec2实例。 (请查看第2步中的“文件”部分)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM