Can't install Rasa using Docker

I tried setting up a rasa project using docker. The command on the website (docker run -v $(pwd):/app rasa/rasa:2.2.4-full init --no-prompt) doesn’t function. I tried it with sudo and antother time while logged in as root user, but I get always the same error. What can I do to fix the permission error?

marco@ubuntuvm:~/Docker$ sudo docker run -v $(pwd):/app rasa/rasa:2.2.4-full init --no-prompt Unable to find image ‘rasa/rasa:2.2.4-full’ locally 2.2.4-full: Pulling from rasa/rasa 6ec7b7d162b2: Already exists 80ff6536d04b: Already exists 6c51d3836e95: Already exists 6ce84404158b: Already exists 6e001f327b45: Already exists b969ce3a984b: Already exists 956b85e90fa3: Pull complete d82f2dbdc45f: Pull complete a6e201e14a0e: Pull complete Digest: sha256:a01c37b8b50adc3333afbb9b68c502dc6f11650cbec90b28353ab98cb8fc0d3b Status: Downloaded newer image for rasa/rasa:2.2.4-full Matplotlib created a temporary config/cache directory at /tmp/matplotlib-482hbnfw because the default path (/.config/matplotlib) is not a writable directory; it is highly recommended to set the MPLCONFIGDIR environment variable to a writable directory, in particular to speed up the import of Matplotlib and to better support multiprocessing. 2021-01-12 09:17:12.104659: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library ‘libcudart.so.10.1’; dlerror: libcudart.so.10.1: cannot open shared object file: No such file or directory 2021-01-12 09:17:12.105253: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine. 2021-01-12 09:17:15 WARNING rasa.utils.common - Failed to write global config. Error: [Errno 13] Permission denied: ‘/.config’. Skipping. Warning: Output is not to a terminal (fd=1). Warning: Input is not to a terminal (fd=0). Welcome to Rasa! :robot:

To get started quickly, an initial project will be created. If you need some help, check out the documentation at Introduction to Rasa Open Source.

Traceback (most recent call last): File “/usr/local/lib/python3.7/distutils/file_util.py”, line 41, in _copy_file_contents fdst = open(dst, ‘wb’) PermissionError: [Errno 13] Permission denied: ‘./credentials.yml’

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File “/opt/venv/bin/rasa”, line 8, in sys.exit(main()) File “/opt/venv/lib/python3.7/site-packages/rasa/main.py”, line 116, in main cmdline_arguments.func(cmdline_arguments) File “/opt/venv/lib/python3.7/site-packages/rasa/cli/scaffold.py”, line 234, in run init_project(args, path) File “/opt/venv/lib/python3.7/site-packages/rasa/cli/scaffold.py”, line 127, in init_project create_initial_project(path) File “/opt/venv/lib/python3.7/site-packages/rasa/cli/scaffold.py”, line 135, in create_initial_project copy_tree(scaffold_path(), path) File “/usr/local/lib/python3.7/distutils/dir_util.py”, line 163, in copy_tree dry_run=dry_run) File “/usr/local/lib/python3.7/distutils/file_util.py”, line 151, in copy_file _copy_file_contents(src, dst) File “/usr/local/lib/python3.7/distutils/file_util.py”, line 44, in _copy_file_contents “could not create ‘%s’: %s” % (dst, e.strerror)) distutils.errors.DistutilsFileError: could not create ‘./credentials.yml’: Permission denied

Hi,

The rasa container runs as the 1001 user, that’s why you can see an error related to permissions. You can run the container with the same id as the host use id by adding the -u flag to the run command, e.g.

sudo docker run -u $(id -u) -v $(pwd):/app rasa/rasa:2.2.4-full init --no-prompt

Thank you. Now it works. My intention is to create a docker image on a online server, then export the docker image and import it to an linux offline machine. How can I do that? As I said, the offline machine has absolutely no internet connection. It has only docker. The goal is to run rasa in docker in a offline machine. The only way to import the files is to create all needed data on a online machine and move the files via WinSCP to the offline machine.