Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 保持Docker容器的最新状态_Git_Github_Docker - Fatal编程技术网

Git 保持Docker容器的最新状态

Git 保持Docker容器的最新状态,git,github,docker,Git,Github,Docker,假设我有几个Docker容器。每个都提供最初在容器启动时从远程Git存储库中提取的代码。但是,现在一些容器正在提供远程主分支后面的代码。我想把它们都更新 我意识到我可能可以运行docker exec-it[container_id]bash,然后在我的每个容器内手动git pull,但这似乎不是一个非常可扩展或实用的选项 是否有一种现有的方法来自动化Docker容器的代码提取?webhooks是正确的方法吗?您可以使用web hooks,前提是您有一个可到达的端点。我喜欢建立新的码头工人图像时,

假设我有几个Docker容器。每个都提供最初在容器启动时从远程Git存储库中提取的代码。但是,现在一些容器正在提供远程主分支后面的代码。我想把它们都更新

我意识到我可能可以运行
docker exec-it[container_id]bash
,然后在我的每个容器内手动
git pull
,但这似乎不是一个非常可扩展或实用的选项


是否有一种现有的方法来自动化Docker容器的代码提取?webhooks是正确的方法吗?

您可以使用web hooks,前提是您有一个可到达的端点。我喜欢建立新的码头工人图像时,您的回购被更新,但与您的方法,你可以考虑类似的东西:

  • 让我们将容器称为A、B和C
  • 设置一个新的容器W来公开web钩子,并装载a、B和C的卷。您的git包将被克隆到这些卷中
  • docker运行
    A、B和C与
    ——来自W的卷
  • 当W收到更新时,它会对相应的包执行git拉动,自动更新容器看到的代码
  • W可能需要根据需要向容器发送重启信号

  • W本质上是一个主容器,它为每个单独的容器a、B和C(间接通过卷)公开Webhook吗?另外,
    --W
    中的卷是否允许每个容器访问A、B和C的存储库?这两方面都是正确的。当然,如果这更有意义的话,您可以将W的功能直接移动到A、B和C中。