在开发过程中如何同时使用Docker和Git?

Ghe*_*man 15 git docker

Docker的push命令和注册表似乎类似于使用Git。我不了解Git和Docker在开发工作流程/过程中如何交互以及如何利用它们。

Docker存储库是否还包含自己的源代码副本以及Git存储库?两个存储库都包含完整的代码可以吗?当我推拉变化时,我应该推拉两个?如果两者都按什么顺序呢?

编辑:我在问我何时应该从Git中提取代码并构建Docker容器,以及何时应该提取Docker映像。

eli*_*eli 18

就像其他答案说的那样,git用于版本控制,例如用于文本文件。

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

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

你是这个意思吗?

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

工作流程示例:

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

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

在您的生产环境中:

  1. docker pull myDockerRepo/myDockerImage:latest -从DOCKER储存库中提取最新的docker映像
  2. docker run -从docker映像运行新的容器化实例(基本上是VirtualMachine)


Run*_*CMD 8

Docker和Git是2种完全不同的技术。Git是一种源代码管理解决方案,而在Docker中,您可以在Docker容器中运行应用程序。可以将其视为一种“新”虚拟化技术。您可以同时使用两者,没问题。

....编辑...

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

  • Docker不保留您的源代码副本。使用docker,您可以基于源代码构建映像并将其放入存储库中。从该映像中,您可以在Docker容器中运行应用程序。因此对于工作流程,基本上,您只是使用git进行开发,对于部署,则使用Docker ... (3认同)
  • 这就是我想知道的。只需将最后一句话放在答案中即可。我的问题有什么问题? (2认同)
  • 我不知道,也许还不清楚。但是我没有投票。 (2认同)