我是OpenShift的新手,我正在将我的烧瓶应用程序部署到它上面,但遇到了一些问题。我的应用/容器名称为flog
。
我设置了生命周期预挂,以确保为应用部署正确创建数据库。这是我的配置(关键部分):
spec:
replicas: 1
selector:
deploymentconfig: flog
strategy:
activeDeadlineSeconds: 21600
resources: {}
rollingParams:
intervalSeconds: 1
maxSurge: 25%
maxUnavailable: 25%
pre:
execNewPod:
command:
- flask
- init
containerName: flog
env:
- name: FLASK_APP
value: wsgi.py
failurePolicy: Abort
timeoutSeconds: 600
updatePeriodSeconds: 1
type: Rolling
它可以在建筑物中正常工作但在前挂中断
--> pre: Running hook pod ...
/opt/app-root/bin/python3: error while loading shared libraries: libpython3.5m.so.rh-python35-1.0: cannot open shared object file: No such file or directory
但是,当我在终端中调试并输入python3
命令时,它运行良好。
提前感谢您的帮助。
答案 0 :(得分:0)
您需要在图像中添加一个shell脚本,然后运行您的命令。需要shell脚本包装器,因为shell环境的初始化具有启用Python环境的副作用,包括设置环境变量以便它可以找到Python共享库。
所以改变:
command:
- flask
- init
为:
command:
- somescript
在somescript
中有:
#!/bin/bash
flask init