Running in Docker Bug? RASA NLU

I am following this guide in order to train my RASA NLU via Docker.

So, my folders in my VM look like this:


–rasa:

------project/config.yml

------project/nlu.md

------model/


I am trying to compose with a docker-compose.yml file which has the following mounting properties:

*volumes:*
  •  - ./project:/app/project/config.yml*
    
  •  - ./project:/app/project/nlu.md*
    
  •  - ./model:/app/model*
    

The command in my compose file looks like this: command: bash -c "python -m rasa_nlu.train -c /app/project/config.yml -d /app/project/nlu.md -o /app/model --project example_instance"

So, when I am running this it does not create any container, neither does it return a code if the training completed. It just outputs the following like I never typed the train command:

Creating rasa … done

  • Attaching to rasa*
  • rasa | Available options:*
  • rasa | start commands (Rasa cmdline arguments) - Start Rasa server*
  • rasa | download {mitie, spacy en, spacy de} - Download packages for mitie or spacy (english or german)*
  • rasa | train - Train a model*
  • rasa | start -h - Print Rasa help*
  • rasa | help - Print this help*
  • rasa | run - Run an arbitrary command inside the container*
  • rasa exited with code 0*

Notes:

  • I try to execute everything while I am in the /rasa/ folder.

  • docker container ls does NOT show rasa

  • I tried doing it without docker-compose.yml

Hi there.

That doesn’t sound right, I think you are mixing things up a little bit. However, I may be misunderstanding your description of the issue.

You’ve posted a bash command line but it sounds like you’re wanting to train a model using a docker container. For that you should be using a docker run command (rather than a straight invocation of python or using a docker-compose command.)

The docker run command is in this section of the guide you linked to.

Apologies if I’ve missed something - but for just training the NLU model, you shouldn’t need to have a docker-compose file as that’s used for orchestrating multiple docker containers.

I tried the docker run way and it had the same results.

(In either way, I also think it’s equal to opening the bash and running this command)