I created a Docker image that works as expected. I've provided the dockerfile and entrypoint file here on the off chance it's helpful.
I can run through prokaregia.sh
, the script the environment was designed to run, as expected with the following command:
sudo docker run prokaregia_v2:latest /workflow/prokaregia.sh -i prokaregia.sh -s ont
(I'm not sure why I need to provide the workflow
directory given that I included WORKDIR /workflow
in the dockerfile, so if anyone has any ideas let me know!)
I then built that container into a .sif file using the following command:
sudo apptainer build prokaregia_v2.sif docker-daemon://local/prokaregia_v2:latest
However, giving the resulting image what I believe is the equivalent command:
apptainer run prokaregia_v2.sif /workflow/prokaregia.sh -i prokaregia.sh -s ont
Yields the following error:
/workflow/entrypoint.sh: line 7: /workflow/prokaregia.sh: Permission denied
/workflow/entrypoint.sh: line 7: exec: /workflow/prokaregia.sh: cannot execute: Permission denied
Running with exec
rather than run
produces a similar error: FATAL: permission denied
I've tried running apptainer shell prokaregia_v2.sif
to manually change the permissions, but the directory structure is identical to the directory that I used to create the Docker container, not to the directory structure I'd expect to find inside the container. Inside the directory structure revealed this way is a file named prokaregia_v2.sif
, but it isn't a directory I can change to in order to operate inside of, which is sort of what I expected. Changing permissions on the files in there has no effect on the above error. Sudo doesn't change anything. Any ideas on what might be causing the problem?