Rasa - Docker 权限被拒绝:'models/20200427-162547.tar.gz'

Rasa - Docker Permission denied: 'models/20200427-162547.tar.gz'

我正在尝试使用图像 rasa/rasa:1.8.1-full

中的 Rasa 用户 docker

我有以下 docker-compose 文件

version: '3.0'
services:
  rasa:
    image: rasa/rasa:1.8.1-full
    ports:
      - 5005:5005
    volumes:
      - ./:/app
    command: 
      - run
      - --cors
      - "*"
      - --enable-api
    depends_on:
      - actions

... more services ...

到目前为止一切顺利,我可以 运行 一个 docker-compose up 并且两个服务都将启动并且 运行ning,但是,当我连接到 rasa 服务时通过docker-compose exec rasa /bin/bash训练,用户1001没有写权限

由于在这种情况下我不想保留自己的 dockerfile/image,并且默认情况下官方 rasa 图像使用用户 1001,我不知道我能做些什么。

我是否应该将经过训练的文件传递给容器?将托管容器的机器将不会安装 Rasa...

我建议从 rasa:1.8.1-full 开始创建您自己的 Docker 图像:然后在您的 Docker 文件中添加 rasa 需要的文件(模型、域、故事、等..).
结果将是一张包含 Rasa 运行time 和您在本地 train/test 的模型的图像,它可以 运行 在任何 Docker 环境中(无需担心 Rasa 可用作它将包含在您的图片中)。

在训练新模型(并更改故事)时,您可以重新打包和重新部署,

请尝试:

  1. sudo su
  2. sudo chgrp -R root /etc/rasa/models && sudo chmod -R 770 /etc/rasa/models

我不确定我们的问题是否相同。 但是我使用的是 docker-compose 文件,其中包含来自 rasa 的 train e 运行 服务。

我和这个 Permission denied models 有同样的问题,我在 docker-compose.yml.

的 rasa 火车服务中用 user: root 解决了这个问题
version: '3.0'
services:
  rasa-train:
    image: rasa/rasa:2.2.5-full
    user: root
    volumes:
      - ./:/app
    command:
      - train 
  rasa-run:
    image: rasa/rasa:2.2.5-full
    ports:
      - 5005:5005
    volumes:
      - ./:/app
    command:
      - run 
      - --cors 
      - "*"

使用这个\

$ sudo chgrp -R root models && sudo chmod -R 770 models
$ sudo chgrp -R root . && sudo chmod -R 770 .