Docker Community Forums

Share and learn in the Docker community.

EntryPoint declared in dockerfile is not recognized at runtime (running “docker run”)?

I asked this exact question on SO as well. However no one has answered yet, so I would like to ask it here once again.

I’m using Windows 10 Enterprise 64bit with Docker desktop for windows installed. It’s used as the host machine (to run the command docker run). The built image is a Windows-base image (and of course I use Windows container here).

I think this is a problem of deploy path. I have a simple .NET app with no dependencies and need to be deployed in a .NET image built by docker. I put a Dockerfile in the same folder with that simple .NET app and run the following command to build the image:

docker build --force-rm --no-cache -t test --file=[path_to_docker_file] .

It builds OK. And here is the Dockerfile content:

FROM microsoft/nanoserver    
COPY . .

However when running the following command (to test it):

docker run -rm test

then it says

'test.exe' is not recognized as an internal or external command,
operable program or batch file.

I thought that it should have been copied to the image (in the default working folder)? To make it explicit, I’ve also tried another dockerfile like this:

FROM microsoft/nanoserver
COPY . /app

So the expected working dir here is C:\app , but still it’s not working with the same error.

I think this is just trivial to someone familiar with docker, but to me this is just a strange issue (actually dockerizing a .NET core app does not have any similar issue like this, of course for that we use dotnet to run a dll instead of running the .exe directly in .NET).