运行 prehook pod 加载共享库时出错
error while loading shared libraries when running prehook pod
我是 OpenShift 的新手,我正在将我的 flask 应用程序部署到它上面,但遇到了一些问题。我的 app/container 名字是 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
命令时,它运行良好。
在此先感谢您的帮助。
您需要将 shell 脚本添加到您的映像中,然后依次运行您的命令。 shell 脚本包装器是必需的,因为 shell 环境的初始化具有启用 Python 环境的副作用,包括设置环境变量以便它可以找到 Python 共享库.
所以改变:
command:
- flask
- init
至:
command:
- somescript
并且在somescript
中有:
#!/bin/bash
flask init
我是 OpenShift 的新手,我正在将我的 flask 应用程序部署到它上面,但遇到了一些问题。我的 app/container 名字是 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
命令时,它运行良好。
在此先感谢您的帮助。
您需要将 shell 脚本添加到您的映像中,然后依次运行您的命令。 shell 脚本包装器是必需的,因为 shell 环境的初始化具有启用 Python 环境的副作用,包括设置环境变量以便它可以找到 Python 共享库.
所以改变:
command:
- flask
- init
至:
command:
- somescript
并且在somescript
中有:
#!/bin/bash
flask init