使用本地包的Docker的需求文件

我已经将一个名为Flasgger的开源项目( https://github.com/rochacbruno/flasgger )克隆到本地文件夹。 并添加了一些更改。

现在我想用一个requirments.txt来运行一个Docker:

 docker run \ ... -r requirements.txt \ .... 

在克隆之前, requirements.txt如下所示:

 flasgger==0.6.5 

它会从互联网下载和使用flasgger


问题:现在我将如何修改requirements.txt以使用我的本地副本flasgger

理想情况下,您可以在自定义flasgger源代码中运行python setup.py bdist_wheel ,并将生成的.whlfile upload到私有python软件包存储库,以便您可以使用pip将其安装在Dockerfile ( devpi相当容易设置 )

从私有包回购安装python包:

 RUN pip install --index-url <url for repo> <package name==version> 

要么

 RUN pip install --index-url <url for repo> -r custom-requirements.txt 

软件包回购的优势在于,您可以使用回滚或延迟升级的function来构build和标记软件包版本。

更便宜的select是复制图像中的.whl文件并使用pip安装。

也可以用pip引用一个git repo或url来安装一个包。 您只需将url添加到需求文件。

在本地开发中,您当然可以将包目录直接映射到容器中。

当你将一个项目拆分成多个包时,碰到相同的问题,就是服务/容器共享包。 本地软件包回购完全解决这个问题。 在本地杂耍大量的.whl文件很快就变成了一场噩梦。