Docker error: invalid mount config for type "bind"


The docker error happened in one of my ubuntu workstation. I have updated both docker and cwltool. The error was discussed in github issue (#1045). Could you please help to find a solution?

$ cwltool echo.cwl echo.yml 
INFO /home/qian/miniconda3/bin/cwltool 3.1.20220502060230
INFO Resolved 'echo.cwl' to 'file:///home/qian/workspace/SharedData/tmp/echo.cwl'
INFO [job echo.cwl] /tmp/py42zm4d$ docker \
    run \
    -i \
    --mount=type=bind,source=/tmp/py42zm4d,target=/EwDxmR \
    --mount=type=bind,source=/tmp/u7at0z23,target=/tmp \
    --workdir=/EwDxmR \
    --read-only=true \
    --log-driver=none \
    --user=1001:1001 \
    --rm \
    --cidfile=/tmp/yjn1d_2p/20220510131521-154879.cid \
    --env=TMPDIR=/tmp \
    --env=HOME=/EwDxmR \
    alpine \
    echo \
    hello > /tmp/py42zm4d/1f59e63b5b69e935c9e2b3a6034c72d71c9ed6ab
docker: Error response from daemon: invalid mount config for type "bind": bind source path does not exist: /tmp/py42zm4d.
See 'docker run --help'.
$ docker --version
Docker version 20.10.15, build fd82621


Welcome Qian,

try TMPDIR=$PWD cwltool echo.cwl echo.yml to put the temporary directories on the same filesystem as the inputs.

This solved the issue!

I also tried this and it worked too. Thank you so much for the quick reply. :slight_smile:

cwltool --tmpdir $PWD echo.cwl echo.yml
1 Like