NeuroDesk / neurodesktop

The plug-and-play, browser-accessible, containerised data analysis environment.
https://www.neurodesk.org
MIT License
43 stars 12 forks source link

Propagate singularity bind points from initial docker command? #67

Open thomshaw92 opened 2 years ago

thomshaw92 commented 2 years ago

Trying to run a simg within neurodesktop but it seems the bind points from my initial Docker call (for an external drive) in Windows to neurodesktop don't propagate to singularity containers inside. Would be a nice feature to add to a startup script (i.e., bind all external drives in Docker call (if user wants)- propogate these bindpoints to transparent singularity or wherever the code is now?)

stebo85 commented 2 years ago

This already works. We should quickly look at this together why it doesn't work in your case :)

On Wed, Nov 24, 2021, 8:30 AM Thom Shaw @.***> wrote:

Trying to run a simg within neurodesktop but it seems the bind points from my initial Docker call (for an external drive) in Windows to neurodesktop don't propagate to singularity containers inside. Would be a nice feature to add to a startup script (i.e., bind all external drives in Docker call (if user wants)- propogate these bindpoints to transparent singularity or wherever the code is now?)

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/NeuroDesk/neurodesktop/issues/67, or unsubscribe https://github.com/notifications/unsubscribe-auth/AA6V2WZICXC2IZ3PLRDRXRTUNQIZFANCNFSM5IUTTUAQ .

thomshaw92 commented 2 years ago

running

PS C:\Users\thoma> docker run --shm-size=1gb -it --privileged --name neurodesktop -v C:/neurodesktop-storage:/neurodesktop-storage -v E:/STIMMRI_DATA/:/STIMMRI -p 8080:8080 -h neurodesktop-20211028 vnmd/neurodesktop:20211028  

Then inside neurodesktop in the fMRIPrep container:

Singularity> ls /STIMMRI
ls: cannot access '/STIMMRI': No such file or directory
stebo85 commented 2 years ago

Dear Tom,

can you try to mount the external drive to the mountpoint that we created for this use-case :/data ?

PS C:\Users\thoma> docker run --shm-size=1gb -it --privileged --name neurodesktop -v C:/neurodesktop-storage:/neurodesktop-storage -v E:/STIMMRI_DATA/:/data -p 8080:8080 -h neurodesktop-20211028 vnmd/neurodesktop:20211028

The problem is that we need to create the mountpoints at buildtime, so we cannot easily add these at runtime.

thomshaw92 commented 2 years ago

Ah yes that works... Does it cost us anything to automatically mount all drives and do this in an automatic way at startup? e.g., My external drives in E:/ and F:/ to /mnt/e and /mnt/f/ in neurodesktop?

stebo85 commented 2 years ago

the problem is that the docker container doesn't know that E: and F: exists, so the startup script proposed in #64 needs to do this. It shouldn't be very difficult, but will need a bit of Powershell / bat magic by @thomshaw92

stebo85 commented 2 years ago

Dear @thomshaw92 - did you get a chance to look at this already?