Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 运行python程序的最轻docker映像_Python 3.x_Docker_Kubernetes_Dockerfile - Fatal编程技术网

Python 3.x 运行python程序的最轻docker映像

Python 3.x 运行python程序的最轻docker映像,python-3.x,docker,kubernetes,dockerfile,Python 3.x,Docker,Kubernetes,Dockerfile,唯一的要求是能够运行Python3命令,我不会在上面安装额外的包。我以前用过阿尔卑斯山,看过python slim,这些是我最好的选择吗? 如果您能为其他编程语言指出类似的图像,也将不胜感激 我试图构建的是一个简单的服务,用户向其发送代码+输入,服务在集群上运行的各个容器(pod)上执行,并返回输出您可以使用alpine软件包,因为它轻巧、安全,然后您可以浏览服务和应用程序,并决定是否不需要这些,然后将其移除。之后,您可以从此容器创建另一个Docker映像 我发现了一个网页,通过更有效地使用Do

唯一的要求是能够运行Python3命令,我不会在上面安装额外的包。我以前用过阿尔卑斯山,看过python slim,这些是我最好的选择吗? 如果您能为其他编程语言指出类似的图像,也将不胜感激


我试图构建的是一个简单的服务,用户向其发送代码+输入,服务在集群上运行的各个容器(pod)上执行,并返回输出

您可以使用alpine软件包,因为它轻巧、安全,然后您可以浏览服务和应用程序,并决定是否不需要这些,然后将其移除。之后,您可以从此容器创建另一个Docker映像

我发现了一个网页,通过更有效地使用Docker缓存,有助于提高构建效率,如果这有帮助的话

问题 您的Dockerfile可能包含以下内容:

ADD code /app # executed on every small change
RUN pip install -r /app/requirements.txt
# and here we go again...
在安装必要的库并设置虚拟环境之后,您正在添加项目代码(Flask或Django project?)。然后,运行pip将项目所需的每个Python依赖项的确切版本安装到
“requirements.txt”
文件中

你没有尽可能地使用Docker缓存。好消息是:有一种简单的方法可以解决这个问题

使用Docker缓存 如果您正在使用的东西没有实际更改,您可以防止永久性地重新执行依赖项安装步骤。不需要复杂的批量安装或多阶段构建功夫

仅当引用的文件自上次执行以来发生更改时,
ADD
指令才需要运行。如果是这样,则每个构建步骤都需要再次运行,但如果是相同的,则可以使用Docker缓存中的一个版本并跳到下一个版本

如果在其他代码之前添加requirements.txt文件,并在该文件之后立即运行
pip install
步骤,则仅当文件更改时,才会执行这两个步骤。不是每一个版本

    ADD code/requirements.txt /app/requirements.txt
    RUN pip install -r /app/requirements.txt
    # the steps above only depend on the requirements.txt file!
    ADD code /app
这样,如果没有任何更改,您可以跳过昂贵的操作并重用缓存状态。在大多数情况下,Docker映像的构建速度会更快。一旦这还不够,就有更详细的方法来改进流程