Skip to content

Tutorial and example app #14

@justbennet

Description

@justbennet

Not sure what is wrong, so the question may be semi-coherent.

I am trying to work through the tutorial at http://bids-apps.neuroimaging.io/tutorial/

I have Docker version 1.10.3, build d381c64-unsupported as installed by yum on CentOS 7.

Our Docker is currently locked down so only root can talk to the daemon, so I have to

$ sudo docker run -i --rm \
    -v /tmp/bids/ds005_R1.1.0:/bids_dataset:ro \
    -v /tmp/bids/ds005_R1.1.0/output:/outputs \
    bids:example \
    /bids_dataset /outputs participant --participant_label 01

using the ds005 data set downloaded from the example files today. It runs

bet /bids_dataset/sub-01/anat/sub-01_T1w.nii.gz /outputs/sub-01_brain.nii.gz

and produces

$ ls -l ds005_R1.1.0/output/
total 1216
-rw-r--r-- 1 root root 1242149 Sep  4 15:47 sub-01_brain.nii.gz

I then try to convert the docker image to a Singularity image (this is on a machine in the cluster) using

sudo docker run --privileged -ti --rm \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /tmp/singularity:/output docker2singularity \
    bids:example

after first grabbing the filos/docker2singularity Docker bundle and building a local version, setting the Docker version to match ours. That seems to go OK, and produces

$ sudo docker run --privileged -ti --rm \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /tmp/singularity:/output docker2singularity \
    bids:example

Size: 1615 MB for the singularity container
Creating a sparse image with a maximum size of 1615MiB...
Using given image size of 1615
Formatting image (/sbin/mkfs.ext3)
Done. Image can be found at: /output/bids_example-2016-09-04-a2e66f1e787d.img

Singularity: sexec (U=0,P=144)> Command=exec, Container=/output/bids_example-2016-09-04-a2e66f1e787d.img, CWD=/, Arg1=/bin/sh
Fixing permissions.
Singularity: sexec (U=0,P=150)> Command=exec, Container=/output/bids_example-2016-09-04-a2e66f1e787d.img, CWD=/, Arg1=/bin/sh
Singularity: sexec (U=0,P=179)> Command=exec, Container=/output/bids_example-2016-09-04-a2e66f1e787d.img, CWD=/, Arg1=/bin/sh
Adding mount points
Singularity: sexec (U=0,P=8600)> Command=exec, Container=/output/bids_example-2016-09-04-a2e66f1e787d.img, CWD=/, Arg1=/bin/sh
Stopping container, please wait.
a2e66f1e787d

However, no combination that I can find produces a run of bet. When running from Docker, the path mapping from the host machine to the container has to be specified on the command line. I am not seeing anything that looks like that in the conversion to singularity or in the singularity invocation. My suspicion is that it's failing because no files are found because /bids_dataset and /output are not getting properly mapped.

Have I done something wrong? Are the tutorial instructions incomplete?

How do we tell the Singularity application where the data and output files are?

Sorry if this is the wrong place to post; I don't see a place to post for text in the tutorial.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions