我是python的新手。我有一个maven项目,它使用org.jolokia maven-docker-plugin来创建一个使用python库的docker镜像。
目前,容器使用pip install
来安装python库。
我已经分叉了python库并进行了一些更改,现在我希望我的docker容器使用python库的 MY 版本。我怎么能这样做?
复制我更改的python文件,覆盖pip install后生成的/usr/local/lib/python2.7/dist-packages/
中的文件夹(通过mount目录到容器中)。
创建整个python项目的tar,使用fileSets将其添加到图像中,运行pip install /maven/mypythonversion.tar.gz
。
非常感谢任何帮助!
答案 0 :(得分:0)
执行此操作的方法是将python项目放入映像并在setup.py上运行install
。此方法假定您的映像已经安装了python解释器以及为项目安装的相关依赖项。
将 python项目代码复制到 maven项目中的文件夹,即名为input
的文件夹。
在图像的程序集中使用 fileSets 将python源代码组合到图像中。 <directory>
应该指向包含python源代码的输入文件夹:
<assembly>
<mode>tar</mode>
<inline>
<fileSets>
<fileSet>
<directory>C:/.../input</directory>
<outputDirectory>/output</outputDirectory>
<includes>
<include>**/*</include>
</includes>
</fileSet>
</fileSets>
</inline>
</assembly>
然后您希望脚本从输出目录(python setup.py install
)运行/maven/output/mypythonproject
。
即。使用runCmd:
<runCmds>
<run>
cd /maven/output/mypythonproject \
python setup.py install
</run>
</runCmds>
这会安装python模块并将egg文件放在/usr/local/lib/python27/dist-packages
文件夹中,这个文件夹将由你的python解释器找到。