Python和Docker:以可编辑的方式将远程私有git存储库安装到容器中

我试图从requirements.txt中将基于私有python的git repos安装到docker容器中,以便在开发过程中可以很容易地进行编辑。

例如,我有一个Django项目,其中包含一个Dockerfile,允许在Docker容器中构build该项目。 (它可能看起来像这样https://github.com/JoeJasinski/docker-django-demo/blob/master/Dockerfile )。

现在,假设项目有一个如下所示的从一个私有仓库中提取代码的requirements.txt文件。

django=1.11.2 -e git+git@github.com:myorg/my-private-project.git#egg=my_private_project -e git+ssh://git@git.example.com/second-private-project@mytag#egg=second_private_project -e git+https://github.com/myorg/third-private-project#egg=third_private_project 

理想情况下,我会这样做,所以我可以编辑我的主项目和依赖回购站,而无需每次都重新构buildDocker容器。 Dockerfile“ADD。dest /”命令可以对主项目进行编辑,但是我很难find安装这些私有存储库的好方法。

通常(在Docker之外),pip -e标志使得repos可以在适当位置进行编辑,这是非常好的,因为我可以像编辑其他repo一样编辑和提交它们。

但是,在Docker中,容器无法访问下载私有回购站所需的ssh私钥(这可能是一件好事,所以我们不会将密钥构build到Docker镜像中)。

我以为有一个想法就是在build造之前在集装箱外面下载私人仓库。 然后不知何故,这些回购将在构build时“添加”到Docker容器,然后单独添加到PYTHONPATH(也许在运行时?)。 但是,我觉得我过分复杂的情况。

任何关于一个好的,简单的(Pythonic)的方式来安装私人的基于Python的git仓库到一个容器的build议,以便在主项目和从属仓库上开发很容易?