如何从github中提取docker映像并在ec2中构建映像?
我的实际需求是从GitHub中提取docker映像,并在ec2实例中构建一个docker映像,然后将该映像推送到ecr。所以,我只是想通过请求帮助从git中提取图像来明确我的第一步,这对所有这一切来说都是全新的。要澄清一些要点: Github:它是一种基于web的托管服务,用于使用git进行版本控制。因此,您无法从Github中提取docker映像。 要构建Docker映像,需要Dockerfile。因此,您可以分叉具有此Dockerfile的GitHub项目 然后,要在ec2上构建它,您可以在ec2服务器上签出包含Dockerfile的项目,并使用以下方法构建它: 然后,您可以使用以下命令将其推送到任何注册表:如何从github中提取docker映像并在ec2中构建映像?,docker,github,Docker,Github,我的实际需求是从GitHub中提取docker映像,并在ec2实例中构建一个docker映像,然后将该映像推送到ecr。所以,我只是想通过请求帮助从git中提取图像来明确我的第一步,这对所有这一切来说都是全新的。要澄清一些要点: Github:它是一种基于web的托管服务,用于使用git进行版本控制。因此,您无法从Github中提取docker映像。 要构建Docker映像,需要Dockerfile。因此,您可以分叉具有此Dockerfile的GitHub项目 然后,要在ec2上构建它,您可以在
让我们浏览一下您在需求中询问的每个步骤:
gitclone
docker build--标记mytag
aws configure
并输入它们来配置连接。配置凭据后,通过键入aws ECR get login--no include email登录到ECR,然后复制/粘贴它给您的命令。(您也可以在其周围加上`以跳过复制步骤)。这将允许您使用docker push推送至ecr李>
Github不存储图像。它只存储Dockerfiles,您必须自己构建它帮助了我,谢谢!在这之后,我需要自动化所有这些,我想通过使用Jenkins我可以自动化这些,我需要一个脚本来自动化这些,还是Jenkins可以通过docker使用的命令来处理这些?我知道这是一个愚蠢的问题,实际需求是,如果对Github中的image/Dockerfile进行任何更改,它应该会触发jenkins构建新映像的过程,jenkins应该将其推送到ECR,因为我刚刚了解这个过程,我试图通过步骤了解它Github是git存储库,所以您可以使用jenkins的“轮询scm”功能定期检查GitHub的更改。在进行更改时,您将启动一个新的Jenkins作业,该作业将完成上面的所有步骤(签出git、构建docker、推到ECR)。如果您的EC2是一个持久的Jenkins从机,那么您只需要安装docker和aws cli一次。您应该使用Jenkins凭据存储作为您的访问密钥和密钥,这样它们就不会以明文形式出现在您的工作中。我这里有两个问题,1)这样我可以使用轮询scm检查dockerfile中的更改?2) “jenkins凭证存储您的访问密钥和密钥”是指为ECR生成的身份验证密钥?或任何其他凭证?Poll SCM通常会检查您的回购协议是否有更改。如果要使其仅在dockerfile更改时触发,则可以设置包含和排除规则。对于凭证存储,我指的是您的访问密钥id和AWS的秘密访问密钥,因为您需要在每次构建时登录到ecr。