如何在Heroku上使用Docker运行2个不同的控制台?

问题描述 投票:0回答:1

我有一个rasa聊天机器人的应用,部署在Heroku上,我想在不同的控制台运行2个命令来启动rasa和它的动作。我想在不同的控制台上运行2个命令来启动rasa和它的动作,这是我的docker文件。

FROM ubuntu:18.04
ENTRYPOINT []
RUN apt-get update && apt-get install -y python3 python3-pip && python3 -m pip install --no-cache --upgrade pip && pip3 install --no-cache rasa==1.5.3
ADD . /app/
RUN chmod +x /app/start_services1.sh
CMD /app/start_services1.sh
RUN chmod +x /app/start_services2.sh
CMD /app/start_services2.sh

start_services1.sh文件。

cd app/
rasa run actions "*" --debug -p $PORT

start_services2.sh文件。

cd app/
rasa run --model models --enable-api --cors "*" --debug -p $PORT

它只运行第二个.sh文件. rasa chatbot运行时没有动作,我该如何解决?

docker heroku rasa
1个回答
1
投票

这是不可能的,因为Heroku每个进程只暴露一个端口。解决方案是部署两个应用程序:rasa core和rasa action server。配置 heroku-endpoints.yml 在Heroku上使用Rasa SDK,即

action_endpoint:
  url: "https://{heroku-app}.herokuapp.com/webhook"

我已经实现了一个类似的解决方案(实际上部署了3个应用程序,因为我也需要自己的REST服务),请随意看看。https:/github.comperosaAvatarRasaChatbot。

© www.soinside.com 2019 - 2024. All rights reserved.