将python项目导入docker镜像

时间:2016-11-21 22:25:27

标签: python docker pip

我是python的新手。我有一个maven项目,它使用org.jolokia maven-docker-plugin来创建一个使用python库的docker镜像。

目前,容器使用pip install来安装python库。

我已经分叉了python库并进行了一些更改,现在我希望我的docker容器使用python库的 MY 版本。我怎么能这样做?

我尝试过:

  1. 复制我更改的python文件,覆盖pip install后生成的/usr/local/lib/python2.7/dist-packages/中的文件夹(通过mount目录到容器中)。

  2. 创建整个python项目的tar,使用fileSets将其添加到图像中,运行pip install /maven/mypythonversion.tar.gz

  3. 非常感谢任何帮助!

1 个答案:

答案 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解释器找到。