2017-09-14 3 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

, 감사합니다 –

관련 문제