How to specify working directory for ENTRYPOINT in Dockerfile

Viewed 61351

The Docker image (Windows-based) includes an application directory at C:\App. Inside that directory reside several sub-folders and files, including a batch file called process.bat. The Dockerfile (used to build the image) ends like this:

ENTRYPOINT [ "C:\\App\\process.bat" ]

When I instantiate this image using the command: docker run company/app, the batch file runs, but it fails at the point where other files under C:\App are referenced. Essentially, the working directory is still C:\ from the Docker container's entry-point.

Is there a way to set the working directory within the Dockerfile? Couple of alternatives do exist:

  • Add -w C:\App to the docker run
  • In the batch file, I can add a line at the beginning cd /D C:\App

But is there a way to specify the working directory in the Dockerfile?

2 Answers
Related