如何将 Docker 图像从 DockerHub 拉到 Elastic Beanstalk?
How to pull a Docker image from DockerHub to Elastic Beanstalk?
我想用 Github 上的一个项目制作一个 CI/CD 使用 GitHub 动作。使用本教程:
https://www.blog.labouardy.com/elastic-beanstalk-docker-tips/
但我仍然不明白 elastic beanstalk 如何从 DockerHub 中拉取 docker 图像。
这应该如何发生?
为什么我们需要 Dockerrun.aws.json 文件以及如何使用它?
可以采用不同的方法。博主选择使用 Dockerrun.aws.json
+ Dockerfile
+ zipfile 的方式。换句话说,每次 CircleCI 构建时,它都会上传一个包含 Dockerrun.aws.json
的 zip 文件(在这种情况下 Dockerfile
并不是真正需要的,因为他正在远程构建图像以及应用程序的其余部分因为他没有映射任何东西)。
circleci执行以下步骤:
- 构建映像
- 推送图片
- 将 zip 文件发送到 AWS Elastic Beanstalk
AWS Elastic Beanstalk 将简单地遵循 Dockerrun.aws.json
中的配置并使用标签 ${CIRCLE_SHA1}
.
进行更新
Dockerrun.aws.json
有必要吗?不,您也可以使用 docker-compose.yml
文件。
我建议你检查 AWS documentation 这个主题。
编辑:恕我直言,最好使用 docker-compose.yml
,因为它允许在本地启动容器并在远程更新应用程序之前确保它们正常
就像会员说的,您可以使用 AWS documentation 完整的步骤。
我想用 Github 上的一个项目制作一个 CI/CD 使用 GitHub 动作。使用本教程:
https://www.blog.labouardy.com/elastic-beanstalk-docker-tips/
但我仍然不明白 elastic beanstalk 如何从 DockerHub 中拉取 docker 图像。
这应该如何发生?
为什么我们需要 Dockerrun.aws.json 文件以及如何使用它?
可以采用不同的方法。博主选择使用 Dockerrun.aws.json
+ Dockerfile
+ zipfile 的方式。换句话说,每次 CircleCI 构建时,它都会上传一个包含 Dockerrun.aws.json
的 zip 文件(在这种情况下 Dockerfile
并不是真正需要的,因为他正在远程构建图像以及应用程序的其余部分因为他没有映射任何东西)。
circleci执行以下步骤:
- 构建映像
- 推送图片
- 将 zip 文件发送到 AWS Elastic Beanstalk
AWS Elastic Beanstalk 将简单地遵循 Dockerrun.aws.json
中的配置并使用标签 ${CIRCLE_SHA1}
.
Dockerrun.aws.json
有必要吗?不,您也可以使用 docker-compose.yml
文件。
我建议你检查 AWS documentation 这个主题。
编辑:恕我直言,最好使用 docker-compose.yml
,因为它允许在本地启动容器并在远程更新应用程序之前确保它们正常
就像会员说的,您可以使用 AWS documentation 完整的步骤。