When installing version 1.3 of Dify on Docker Desktop in Windows 10, Nginx fails to start

When installing version 1.3 of Dify on Docker Desktop in Windows 10, Nginx fails to start and an error message is displayed.
“(HTTP code 400) unexpected - failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error mounting “/run/desktop/mnt/host/e/deepseek/dify-main/docker/nginx/docker-entrypoint.sh” to rootfs at “/docker-entrypoint-mount.sh”: mount /run/desktop/mnt/host/e/deepseek/dify-main/docker/nginx/docker-entrypoint.sh:/docker-entrypoint-mount.sh (via /proc/self/fd/6), flags: 0x5000: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type,”

Please, show how you try to mount the file and share where the file that you try to mount is on the Windows host.
Also where o you run the docker command? On Windows or a WSL2 distribution where WSL2 integration is enabled for Docker Desktop?

thank you.
Steps I took:

  1. Accessed the URL GitHub - langgenius/dify: Dify is an open-source LLM app development platform. Dify's intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production. and downloaded the ZIP package.
  2. My Docker is deployed on Windows 10, 64-bit, with version 4.38.0 (181591).
  3. Copied the downloaded dify-main.zip to my Windows Docker directory: E:\deepseek.
  4. Extracted the ZIP file to E:\deepseek\dify-main.
  5. Copied the file E:\deepseek\dify-main.env.example to E:\deepseek\dify-main.env.
  6. Double-clicked Docker Desktop on my PC to start Docker.
  7. The Docker startup page showed that nginx and ssrf_proxy failed to start.
  8. Checked the nginx detail logs, which displayed:2025-04-27 14:39:07 cp: -r not specified; omitting directory ‘/docker-entrypoint-mount.sh’

The repo uses a highly complex Docker setup with multiple containers and many files. I recommend you ask that question to the maintainer, who might know what is happening in the background.

Some steps must be missing as simply starting Docker Desktop would not start a project that you just copied to somewhere on Windows.

I agree with @bluepuma77, but I can still share some notes.

  • I could not find the installation guide, except mentioning the docker compose file, but I didn’t try hard. But “dify-main” looks like you just downloaded thecontent of the main branch instead of going to the release page and downloading a release. The stable release is 2 days old and there are newer commits in the main branch. Never use the main branch instead of releases unless you are instructed to if there are releases.
  • The logs are confusing. First you had the “not a directory” error message from runc, which means the container was not started to give you an error message. Then your second message shows “cp: -r not specified” which is a different issue inside the container. It is possible that I miss something, but these seem to be two different issues, although both indicate something goes wrong with mounting the required files and somehow the entrypoint is handled as a directory whet it is not one.
  • Checking the compose file I see that the entrypoint is mounted from the host, but if we assume that the file was not correctly copied and was missing, or something went wrong when executing the docker compose command in the terminal or any script that was supposed to run it, Docker could possibly see the file was not there and it automatically created a directory on the host with the same name as the shell script would have had. That is the default behavior when you use the short syntax of bind mounting. So it tried to mount a directory onto a file in the container which is not allowed.

Why the file was missing is another story, but if you can share an even more detailed description about how you created the container (which was missing in your previous message) and incldue what command you executed, where you executed it (in which folder on the host) or whether you did something on the Docker Desktop GUI instead, that can turn this issue an actual Docker -related issue.

I still recommend downloading a stable release instead of using the main branch and try it in a new folder instead of copying it over the old one so you make sure you don’t have the automatically created docker-entrypoint.sh folder or anything else that should not be there.