Docker Tip #66: Fixing Error Response from Daemon: Invalid Mode
This error could happen for a few reasons, but here's one fix to it that can be done by renaming a folder in your volume's path.
Over the years I’ve answered so many Docker questions from people who have taken one of my Docker courses but today I got a new question that I haven’t seen yet.
It was related to Docker volumes not working. Docker was throwing
docker: Error response from daemon: invalid mode: /app. In the course we happen to use
WORKDIR /app in our
Dockerfile which acts as the source code location for our app.
He happened to be running MacOS and was using Docker Toolbox because he was using hardware that was not supported by Docker for Mac, but this problem could have happened with Docker for Mac too.
It could also technically happen with Linux, but not Windows if you use PowerShell because Windows won’t allow this character to be in a folder name.
Long story short, he had a
: in one of his folder names that was being volume mounted into the container. After we narrowed that down and renamed the folder, everything immediately worked.
I wanted to see if I could reproduce the problem on Linux so I set up a
hello:world directory and yep, it failed. Except I got a different error which was
Error response from daemon: Mount denied:. I happened to use Docker CE 18.06 while he was using 18.03.
I’m not sure if the error message is different because of the Docker version or the OS. In either case, renaming the folder on Linux to strip out the colon worked.
If you want to read a longer version of this tip where I go over the process of how I came to this conclusion, you can read this article.