Разверните приложение rasa в dokku (docker) - PullRequest
1 голос
/ 27 января 2020

Я бы хотел развернуть мое приложение rasa в Dokku (= heroku-like + docker).

Для этого я добавил Dockerfile в свое приложение:

FROM rasa/rasa:latest-spacy-en

RUN rasa train --domain domain.yml --data data --out models

EXPOSE 5100

CMD [ "rasa", "run", "-m", "models", "--enable-api" ]

Образ rasa docker успешно получен, но я получил эту ошибку при выполнении команды rasa train:

Step 2/4 : RUN rasa train --data data
 ---> Running in f263870fd730
The config file 'config.yml' is missing mandatory parameters: 'policies'. Add missing parameters to config file and try again.
remote: The command '/bin/sh -c rasa train --data data' returned a non-zero code: 1

Я попытался создать явную папку для приложения со следующим Dockerfile:

FROM rasa/rasa:latest-spacy-en

RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app

COPY . /usr/src/app

RUN rasa train --domain domain.yml --data data --out models

EXPOSE 5100

CMD [ "rasa", "run", "-m", "models", "--enable-api" ]

Но я получил эту ошибку:

Step 2/7 : RUN mkdir -p /usr/src/app
 ---> Running in f78470eb6d93
mkdir: cannot create directory ‘/usr/src/app’: Permission denied
remote: The command '/bin/sh -c mkdir -p /usr/src/app' returned a non-zero code: 1

Вот мой config.yml файл:

# Configuration for Rasa NLU.

# https://rasa.com/docs/rasa/nlu/components/
language: fr
pipeline: pretrained_embeddings_spacy

# Configuration for Rasa Core.
# https://rasa.com/docs/rasa/core/policies/
policies:
  - name: MemoizationPolicy
  - name: KerasPolicy
  - name: MappingPolicy
  - name: FormPolicy

Есть идеи?

Большое спасибо за вашу помощь! Thierry

1 Ответ

2 голосов
/ 06 февраля 2020

Похоже, у вас нет разрешения на создание каталога, вы можете попробовать работать как root пользователь в Dockerfile? Например,

FROM rasa/rasa:latest-spacy-en

USER root

RUN mkdir -p /usr/src/app

WORKDIR /usr/src/app

COPY . /usr/src/app

RUN rasa train --domain domain.yml --data data --out models

EXPOSE 5100

CMD [ "rasa", "run", "-m", "models", "--enable-api" ]

Мы не используем root по умолчанию , поэтому у пользователя нет прав на создание папки.

...