如何为dockerized Rasa-NLU配置要公开的端口

时间:2017-09-28 10:10:14

标签: docker rasa-nlu

我是Rasa和docker的新手。 我尝试对Rasa-NLU进行码头化包含以下步骤: 说明来自here

  1. 最新Rasa-NLU的Git克隆
  2. Dockerfile_full(从/docker内)复制到根目录
  3. config_default.jsonDockerfile_full中指定的端口号从默认值(5000)更改为5048.
  4. 使用:docker build -t rasa_nlu .

  5. 构建
  6. 在与默认(5000)端口不同的端口(5048)上运行docker。

  7. 但是,以下内容会在控制台中记录:

    INFO:rasa_nlu.data_router:Logging requests to '/app/logs/rasa_nlu_log-20170928-091903-1.log'. INFO:__main__:Started http server on port 5000 2017-09-28 09:19:03+0000 [-] Log opened. 2017-09-28 09:19:03+0000 [-] Site starting on 5000 2017-09-28 09:19:03+0000 [-] Starting factory <twisted.web.server.Site instance at 0x7fbab0bfdd40>

    如果我尝试使用CURL在本地命中Rasa端点,则会出现connection reset错误。当我在Docker容器中检查(使用docker exec)它在端口5000上运行时,我确认我对被引用的错误端口有疑问。

    有人可以帮我解决我出错的地方以及配置端口号的位置吗?

    提前致谢!

2 个答案:

答案 0 :(得分:2)

Dockerfile_full期望配置文件位于sample_configs文件夹中。 Dockerfile_full也使用config_spacy_duckling.json配置文件。因此,请确保在dockerfile中替换以下引用。您可以更改它复制的配置文件,也可以在正确的文件中更改端口配置。

COPY sample_configs/config_spacy_duckling.json ${RASA_NLU_HOME}/config.json

忽略这一点,为什么要更改两个位置的端口?您需要做的就是在docker run或compose命令中更改它。

docker run -p 5048:5000 rasa/rasa_nlu:latest-full

答案 1 :(得分:1)

sample_configs/config_spacy_duckling.json中添加和更改端口。如果您看到Dockerfile这个复制的配置并且没有定义端口。所以一旦你将port放入其中并构建它就可以了