FileNotFoundError:使用Docker构建Rasa时,没有这样的文件或目录:“ config / endpoints.yml”

时间:2019-03-06 08:35:58

标签: docker docker-compose rasa-nlu rasa-core

我正在尝试使用具有给定链接的docker构建rasa,尝试在Ubuntu上运行命令sudo docker-compose up时,我一直收到此错误。

请帮助我解决这个问题。

我已经附加了docker-compose.yml文件的图像以及创建的docker图像和我的文件夹的图片。

1 个答案:

答案 0 :(得分:0)

似乎您的docker-compose文件中的配置错误。不应这样使用“命令”部分。

这是docker-compose version 3 reference的摘录:

  

命令

     

覆盖默认命令。

     

command: bundle exec thin -p 3000

     

命令也可以是列表,类似于dockerfile:

     

command: ["bundle", "exec", "thin", "-p", "3000"]

因此,在您的情况下,您首先需要将docker-compose文件更改为以下内容:

version: '3.0'

services:
  rasa_core:
    image: rasa/rasa_core:latest
    ports:
      - 5005:5005
    volumes:
      - ./models/rasa_core:/app/models
      - .config:/app/config
    command: start --core models -c rest --endpoints config/endpoints.yml -u current/

  rasa_nlu:
    image: rasa/rasa_nlu:latest-spacy
    volumes:
      - ./models/rasa_nlu:/app/models
    command: start --path

请记住,您在docker-compose文件中放入命令的所有内容都会覆盖CMD中设置的Dockerfile,就像传递给{{1}的命令一样}会覆盖它。

此外,请记住,docker run(或命令,如此处)将附加到图像中设置的CMD上。因此,在指定命令和入口点时请记住这一点。

我注意到rasa_core image已经有一个ENTRYPOINT脚本。 Dockerfile中的配置如下:

entrypoint.sh

所以您对命令的处理是正确的。

但是,我认为您的卷映射也已关闭,这是来自相同的rasa_core Dockerfile

ENTRYPOINT ["./entrypoint.sh"]

CMD ["start", "-d", "./dialogue"]

我似乎还需要更新docker-compose文件中的卷(我从VOLUME ["/app/model", "/app/config", "/app/project"] 映射中删除了s

/app/models

最后,请检查是否将正确的目录映射到version: '3.0' services: rasa_core: image: rasa/rasa_core:latest ports: - 5005:5005 volumes: - ./models/rasa_core:/app/model - .config:/app/config command: start --core models -c rest --endpoints config/endpoints.yml -u current/ rasa_nlu: image: rasa/rasa_nlu:latest-spacy volumes: - ./models/rasa_nlu:/app/models command: start --path 图像。在Dockerfiles of the rasa_nlu project中,似乎没有公开任何名为rasa_nlu的目录。只是这些:

/app/models