【问题标题】:change ec2 instance to use ecr image and docker更改 ec2 实例以使用 ecr 映像和 docker
【发布时间】:2020-05-02 23:55:25
【问题描述】:
我有用于测试的 ec2 实例。我使用 OpsWorks 进行部署,现在我正在 Jenkins 上做新工作以自动部署。我想做的是
当有人推送到分支时
- Jenkins 服务器构建 docker 镜像
- 将图像推送到 ecr
- ec2实例拉取ecr镜像并构建docker容器并运行
我做了一份使用 ecr 并部署 ECS Fargate 的工作,但从未使用 ecr 并部署预先存在的 ec2 实例。我想知道这是否可行。
【问题讨论】:
标签:
amazon-web-services
docker
amazon-ec2
【解决方案1】:
先决条件
在您的EC2 上,您首先必须安装docker。
有很多方法可以做到这一点。
一旦 Jenkins 构建并推送 docker 镜像到ECR,您可以在 Jenkins 构建步骤中进一步添加该步骤。 Jenkins 将在EC2 内部进行 SSH 并拉取并运行 docker 映像。
一旦 Jenkins 构建并推送 docker 镜像到 ECR,您可以进一步添加 Jenkins 构建步骤中的步骤。 Jenkins 将在EC2 上触发shell script 文件。 sh 文件具有所有逻辑来提取最新文件并停止现有等。
从 Jenkins 也可以通过 ansible 脚本来完成。