保持Docker容器最新

时间:2015-03-04 15:34:33

标签: git github docker

让我们说我有几个Docker容器。每个都是在启动容器时提供最初从远程Git存储库中提取的代码。但是,现在一些容器正在为远程主分支后面的代码提供服务。我想让所有这些都是最新的。

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

是否存在自动化Docker容器代码拉取的现有方法? webhooks是正确的解决方法吗?

1 个答案:

答案 0 :(得分:1)

假设您有可访问的端点,则可以使用Web挂钩。我更喜欢在您的仓库更新时构建新的泊坞窗图像,但是按照您的方法,您可以考虑以下内容:

  1. 让我们调用您的容器A,B和C.
  2. 设置一个新的容器W,它暴露Web挂钩,并为A,B和C安装卷。您的git包将被克隆到这些卷中。
  3. docker run A,B和C --volumes-from W
  4. 当W收到更新时,它会对相应的包执行git pull,自动更新容器看到的代码。
  5. W可能需要根据需要向容器发送重启信号。