[GCP] [App Engine] Развертывание веб-приложения Streamlit - сбой контейнера - PullRequest
1 голос
/ 10 июля 2020

Я пытаюсь развернуть веб-приложение, разработанное с помощью Streamlit, на Google App Engine. Когда процесс развертывания близок к завершению. Я получил следующую ошибку:

ERROR: (gcloud.app.deploy) Error Response: [9]
Application startup error! Code: APP_CONTAINER_CRASHED

  You can now view your Streamlit app in your browser.

  Network URL: http://172.17.0.6:8080
  External URL: http://34.67.15.189:8080

Killed

Я не могу понять причину root этой ошибки. Мы будем очень благодарны за любые предложения и / или помощь.

EDIT:

Я использую гибкую среду. App.yaml выглядит следующим образом:

runtime: custom
env: flex

runtime_config:
  python_version: 3

manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 5
  disk_size_gb: 25

Dockerfile выглядит следующим образом:

FROM python:3.7

# Copy local code to the container image.
WORKDIR /app
COPY requirements.txt ./requirements.txt

# Install dependencies.
RUN pip3 install -r requirements.txt

EXPOSE 8080

COPY . /app

# Run the web service on container startup.
CMD streamlit run --server.port 8080 --server.enableCORS false app.py

И требования:

pandas==0.24.2
scikit_learn==0.23.1
streamlit==0.62.1

1 Ответ

0 голосов
/ 11 июля 2020

Я использовал пример приложения streamlit и ваши файлы конфигурации. Я заметил, что вы определяете runtime_config, в этом нет необходимости, так как вы выбрали общий c python docker образ в вашем Dockerfile , это применимо только к образу Python App Engine.

Для получения дополнительной информации о пользовательских средах выполнения, пожалуйста, проверьте этот документ

После некоторых изменений в ваших файлах все работает с использованием примера приложения, не стесняйтесь использовать эти файлы в качестве начальной точки.

это моя структура папок

./
├── app.py
├── app.yaml
├── Dockerfile
└── requirements.txt

это мой app.yaml

runtime: custom
env: flex

manual_scaling:
  instances: 1

resources:
  cpu: 4
  memory_gb: 5
  disk_size_gb: 25

это мой Dockerfile

FROM python:3.7

# Copy local code to the container image.
WORKDIR /app
COPY requirements.txt ./requirements.txt

# Install dependencies.
RUN pip3 install -r requirements.txt

EXPOSE 8080

COPY . /app

# Run the web service on container startup.
CMD streamlit run --server.port 8080 --server.enableCORS false /app/app.py

...