Run mriqc with docker


  1. Get the Docker Engine (
  2. Have your data organized in BIDS (get BIDS specification, see BIDS paper).
  3. Validate your data ( You can safely use the BIDS-validator since no data is uploaded to the server, works locally in your browser.


2GB is the default memory setting on a fresh installation of Docker for Mac. We recommend increasing the available memory for Docker containers (see this issue).

Running mriqc

  1. Test that the mriqc container works correctly. A successful run will show the current mriqc version in the last line of the output:
docker run -it poldracklab/mriqc:latest -v
  1. Run the participant level in subjects 001 002 003:
docker run -v <bids_dir>:/data -v <scratch_dir>:/scratch -w /scratch poldracklab/mriqc:latest /data /scratch/out participant --participant_label 001 002 003 -w /scratch/work
  1. Run the group level and report generation on previously processed subjects:
docker run -v <bids_dir>:/data -v <scratch_dir>:/scratch -w /scratch poldracklab/mriqc:latest /data /scratch/out group -w /scratch/work


If the argument --participant_label is not provided, then all subjects will be processed and the group level analysis will automatically be executed without need of running the command in item 3.

Explaining the mriqc-docker command line

Let’s dissect this command line:

  • docker run- instructs the docker engine to get and run certain image (which is the last of docker-related arguments: poldracklab/mriqc:latest)
  • -v <bids_dir>:/data - instructs docker to mount the local directory <bids_dir>`into :code:/data` inside the container.
  • -v <scratch_dir>:/scratch- instructs docker to mount the local directory <work_dir>`into :code:/scratch` inside the container.
  • poldracklab/mriqc:latest - is the name of the image to be run, and sets an endpoint for the docker-related arguments in the command line.
  • /data /scratch/out participant -w /scratch/work - are the standard arguments of mriqc.