У меня есть простая программа Python, которую я хочу запустить в функциях IBM Cloud. Увы, для этого нужны две библиотеки (O365 и PySnow), поэтому мне нужно Dockerize, и он должен иметь возможность принимать канал Json от STDIN. У меня получилось это сделать:
FROM python:3
ADD requirements.txt ./
RUN pip install -r requirements.txt
ADD ./main ./main
WORKDIR /main
CMD ["python", "main.py"]
Это работает с: cat env_var.json | docker run -i f9bf70b8fc89
Я добавил контейнер Docker в IBM Cloud Functions следующим образом:
ibmcloud fn action create e2t-bridge --docker [username]/e2t-bridge
Однако, когда я запускаю его, время ожидания истекает.
Теперь я действительно увидел возможный путь решения, где я закрепил его как приложение Openwhisk. Но для этого мне нужно создать двоичный файл из моего приложения Python, а затем загрузить его в довольно сложный скелет Openwhisk, я думаю?
Но наличие файла, который вы можете просто запустить, - вот вся суть моего Docker, поэтому создавать двоичный файл интерпретируемого языка и затем добавлять его в докер Openwhisk просто ужасно неуклюже.
Как лучше всего подойти к этому?