s2i-python 运行策略
s2i-python生成的容器映像按以下顺序之一执行您的项目,顺序为:
- Gunicorn
如果安装了Gunicorn WSGI HTTP服务器,则它将用于为您的应用程序提供服务。 可以通过在requirements.txt文件或setup.py文件的install_requires部分列出它来进行安装。如果您的存储库中存在一个名为wsgi.py的文件,它将用作您应用程序的入口点。 可以使用环境变量APP_MODULE覆盖它。 默认情况下,此文件存在于Django项目中。
如果您的要求中同时包含Django和Gunicorn,则将使用Gunicorn自动提供Django项目。
- Django development server
如果您的要求中包含Django,但没有Gunicorn,则可以使用Django的开发网络服务器来服务您的应用程序。 但是,不建议在生产环境中使用此功能。 - Python script
当您提供用于运行应用程序的Python代码文件时,将使用该文件。 当您通过APP_FILE环境变量指定Python脚本的路径时,将使用它,如果存在,则默认为名为app.py的文件。 该脚本将传递给常规的Python解释器以启动您的应用程序。 - Application script file
这是执行应用程序的最通用方法。 当您通过APP_SCRIPT环境变量指定可执行脚本文件的路径时,将使用它,如果存在,则默认为名为app.sh的文件。 该脚本将直接执行以启动您的应用程序。
s2i-python 运行策略名词解释:
• requirements.txt
用pip安装的依赖项列表。
• setup.py
配置项目的各个方面,包括安装依赖项。对于大多数项目,只需使用requirements.txt或Pipfile就足够了。 将DISABLE_SETUP_PY_PROCESSING环境变量设置为true,以跳过对该文件的处理。
• APP_FILE
用于从Python脚本运行应用程序。 这应该是Python文件的路径(除非设置为null,否则默认为app.py),该路径将传递给Python解释器以启动应用程序。
• APP_MODULE
用于通过Gunicorn运行应用程序。此变量指定可调用的WSGI,其模式为MODULE_NAME:VARIABLE_NAME,其中MODULE_NAME是模块的全点缀路径,而VARIABLE_NAME则指代可在指定模块内调用的WSGI。 如果未指定,Gunicorn将寻找WSGI可调用的命名应用程序。
如果未提供APP_MODULE,则运行脚本将在您的项目中查找wsgi.py文件,并在存在的情况下使用它。
如果使用setup.py安装应用程序,则可以从此处读取MODULE_NAME部分。
s2i-nodejs 环境变量
环境变量
应用程序开发人员可以使用以下环境变量来配置此镜像的运行时行为:
- NODE_ENV
NodeJS运行时模式(默认:“production”) - DEV_MOD
设置为“ true”时,nodemon将用于在您工作时自动重新加载服务器(默认值:“ false”)。 将DEV_MODE设置为“ true”会将NODE_ENV默认值更改为“ development”(如果未明确设置)。 - NPM_RUN
选择在package.json文件的脚本部分中定义的备用/自定义运行时模式(默认值:npm run“ start”)。 这些用户定义的运行脚本在使用DEV_MODE时不可用。 - HTTP_PROXY
组装期间使用npm代理 - HTTPS_PROXY
组装期间使用npm代理 - NPM_MIRROR
在构建过程中使用自定义NPM注册表镜像来下载软件包。 - YARN_ENABLED
将此变量设置为非空值以使用“yarn install”获取依赖项。 - YARN_ARGS
“yarn install”参数
定义一组环境变量的一种方法是将它们作为键值对包含在存储库的.s2i / environment文件中。