如何从github拉出docker镜像并在ec2中构建图像?

时间:2018-05-26 20:17:12

标签: docker github

我的实际要求是从GitHub拉出docker图像并在ec2实例中构建一个docker镜像并将该图像推送到ecr。所以,我只是试图通过请求帮助从git中提取图像来清除我的第一步,这对所有这些都是新的。

2 个答案:

答案 0 :(得分:0)

澄清一些要点: Github:这是一个基于Web的托管服务,用于使用git进行版本控制。所以你不能从Github拉出docker图像。 要构建Docker镜像,需要Dockerfile。所以你可以派生出具有这个Dockerfile的GitHub项目。

然后在ec2上构建它,您可以在ec2服务器上查看包含Dockerfile的项目并使用以下命令构建它: https://docs.docker.com/engine/reference/commandline/build/ 然后你可以使用以下命令将其推送到任何注册表: https://docs.docker.com/engine/reference/commandline/push/

答案 1 :(得分:0)

让我们逐步完成您在要求中询问的每一步:

  1. 从GitHub拉出 - 您不会从此处拉出泊坞窗图像,但是您可以从此处拉出Dockerfile,这将用于构建图像。执行此操作的命令就像克隆任何其他存储库一样:git clone <repository url>
  2. 在ec2上构建映像 - 首先,您需要在ec2实例上安装docker。假设您在ec2实例上运行Ubuntu,请按照Docker页面(https://docs.docker.com/install/linux/docker-ce/ubuntu/miror上的说明操作。安装docker之后,导航到其中包含Dockerfile的目录(从git克隆)并键入docker build . --tag mytag
  3. 将图像推送到ecr - 为此,您需要在盒子上安装amazon CLI,并且需要来自AWS IAM的ACCESS_KEY_ID和SECRET_ACCESS_KEY。获得这些后,通过将连接存储为环境变量,或者键入aws configure并输入它们来配置连接。配置凭据后,通过键入aws ecr get-login --no-include-email登录ECR,然后复制/粘贴它为您提供的命令。 (你也可以把它放在它周围跳过复制步骤)。这将允许您使用docker push推送到ecr。