I\'m running joblib in a Flask application living inside a Docker container together with uWSGI (started with threads enabled) which is started by supervisord.
The start
It seems that semaphoring is not enabled on your image: Joblib checks for multiprocessing.Semaphore()
and it only root have read/write permission on shared memory in /dev/shm
.
Have a look to this question and this answer.
This is run in one of my containers.
$ ls -ld /dev/shm
drwxrwxrwt 2 root root 40 Feb 19 15:23 /dev/shm
If you are running as non-root, you should change the permission on /dev/shm
. To set the correct permissions, you need to modify the /etc/fstab
in you Docker image:
none /dev/shm tmpfs rw,nosuid,nodev,noexec 0 0