【问题标题】:How to speed up clone of a Git Repo into Docker Container?如何加快将 Git Repo 克隆到 Docker 容器中的速度?
【发布时间】:2019-07-22 17:10:25
【问题描述】:

我在 Dockerfile 中使用了来自外部 Python 存储库的一些代码。

RUN git clone ssh://git@foobar.com/sample_repo.git /sample_repo

我怎样才能让所有这些代码在 Docker 容器中 (A) 可访问; (B) 比git clone 快得多; (C) 获取存储库中最近的代码更改?

在我开始创建private Python package repository 之前,我想确保我实施的解决方案能够很好地与 Docker 和上述所有因素配合使用。

【问题讨论】:

    标签: python docker dockerfile python-packaging


    【解决方案1】:

    如果您希望将最近的代码更改提取到现有容器中,实际上没有办法在容器中运行git clone,以便您以后可以git pull

    如果您不需要整个历史记录,那么git clone --depth 1 可能会加快初始克隆的速度。

    RUN git clone --depth 1 ssh://git@foobar.com/sample_repo.git /sample_repo
    

    通过向克隆命令提供 --depth 1 的参数,进程 将仅复制存储库中所有内容的最新版本。 这可能是 Git 服务器的救星,否则可能 被 CI/CD(持续集成/持续交付)自动化所淹没。

    如果您根本不想在容器中使用git,并且可以轻松地重新构建映像以获取代码更改,那么可以使用一个帮助脚本对主机执行git archive,然后是ADD Dockerfile 中的声明也可以。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-29
      • 1970-01-01
      • 2013-08-07
      • 1970-01-01
      • 2019-10-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多