2017-09-14 1 views
0

OpenShiftを初めて使用しています。フラスコのアプリケーションを配備していますが、問題が発生しました。私のアプリ/コンテナ名はflogです。prehookポッドを実行しているときに共有ライブラリを読み込んでいるときにエラーが発生しました。

私はライフサイクルプレフックをセットアップして、データベースがアプリデプロイメント用に正しく作成されるようにしました。

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 

それは私がターミナルにデバッグしpython3コマンドを入力すると、それがうまく機能し、

--> 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 

しかしprehookに建物が、休憩中に正常に動作します:ここに私の設定(重要な部分)があります。

ご協力いただきありがとうございます。

答えて

0

イメージにシェルスクリプトを追加し、コマンドを実行する必要があります。シェル環境の初期化には、環境変数を設定してPython共有ライブラリを見つけることができるなど、Python環境を有効にするという副作用があるため、シェルスクリプトラッパーが必要です。

ので変更:

 command: 
     - flask 
     - init 

へ:

 command: 
     - somescript 

そしてsomescriptであります

#!/bin/bash 
flask init 
+0

動作することを、答えてくれてありがとう –

関連する問題