如何在开发过程中使用Docker和Git? [关闭]

问题描述 投票:7回答:3

Docker的推送命令和注册表看起来类似于使用Git。我不明白Git和Docker如何在开发工作流程/流程中进行交互以及如何使用它们。

docker存储库是否还包含自己的源代码副本以及Git存储库?这两个存储库是否包含完整代码?当我推或拉两个中的哪一个时我会推拉?如果两者都以哪个顺序?

编辑:我问我什么时候应该从Git中提取代码并构建Docker容器,何时应该拉取Docker镜像。

git docker
3个回答
4
投票

Docker和Git是两种完全不同的技术。 Git是一个源代码控制解决方案,而在docker中,您可以在docker容器中运行应用程序。可以把它想象成一种“新的”虚拟化技术。你可以同时使用两者,没问题。

......编辑......

Docker不会保留源代码的副本。使用docker,您可以根据源代码构建映像并将其放入存储库。从该图像中,您可以在docker容器中运行应用程序。至于工作流基本上,你只是使用git开发,而对于部署你使用Docker ...


6
投票

像其他答案一样,git用于版本控制,例如用于文本文件。

您从“dockerfile”(这是一个文本文件)构建一个docker容器。这个“dockerfile”放在一个包含许多其他文件和文件夹的目录中。

因此,如果您将dockerfile所在的目录放入git存储库,那么每个有权访问它的人都可以使用相同的配置和所有内容构建相同的docker容器。

你是这个意思吗?

因此,docker容器是一个“建筑物”,DOCKER-repository是一个市场,您可以在其中下载已构建的建筑物(图像),您可以从中运行虚拟机器/容器。 并且GIT存储库中的文件(这就像文档的大存档)是“构建计划”。您通过git“共享”不同版本的“施工计划”,因此每个人都可以构建建筑的每个版本。

示例工作流程:

在您的开发环境(本地计算机)中:

  1. git pull - 从git存储库中提取“构造 - 指令”(例如dockerfile)
  2. docker build - 从dockerfile-instructions构建docker镜像
  3. docker push myDockerRepo/myDockerImage:latest - 将新构建的docker镜像推送到DOCKER存储库(而不是git-repository)

在您的生产环境中:

  1. docker pull myDockerRepo/myDockerImage:latest - 从DOCKER-repository中提取最新的docker镜像
  2. qazxsw poi - 从docker镜像运行一个新的容器化实例(基本上是一个虚拟机)

1
投票

Docker push命令将图像推送到docker存储库,图像不是源代码,尽管可能包含源代码,并且连续推送图像可以互相覆盖并且不提供版本控制。它用于拉动图像和运行容器。 docker run

另一方面,git push将您的源代码和其他文件推送到远程存储库。这是版本控制。您可以将请求拉,分或拉请求到远程git存储库,并可以从源代码构建应用程序。 Docker Repo further info

它们可以一起使用,实际上许多开发人员一起使用它们。他们的目标是解决不同的问题。

© www.soinside.com 2019 - 2024. All rights reserved.