Can't install Rasa using Docker - Rasa Open Source - Rasa Community Forum

Can’t install Rasa using Docker

post by orcam on Jan 12, 2021

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: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!  
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 & Rasa Pro](/content/docs/rasa/index.html).

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

post by tczekajlo on Jan 12, 2021

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

post by orcam on Jan 14, 2021

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.

post by jbrix on Jan 22, 2021

Hey how did you fix this? I have exactly the same error(s) and the command from tczekajlo does not change this.