EntryPoint, объявленный в Dockerfile, не распознается во время выполнения (работает «Docker Run»)? - PullRequest
0 голосов
/ 21 марта 2019

Я думаю, что это проблема пути развертывания. У меня есть простое приложение .NET без каких-либо зависимостей, и мне нужно развернуть его в образе .NET, созданном Docker. Я помещаю Dockerfile в ту же папку с этим простым приложением .NET и запускаю следующую команду для создания образа:

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

Строится нормально. А вот содержание Dockerfile:

FROM microsoft/nanoserver    
COPY . .
ENTRYPOINT test.exe

Однако при запуске следующей команды (для проверки):

docker run -rm test

тогда написано

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

Я думал, что это должно быть скопировано в изображение (в рабочей папке по умолчанию)? Чтобы сделать это явным, я также попробовал другой докер-файл, подобный этому:

FROM microsoft/nanoserver
WORKDIR /app
COPY . /app
ENTRYPOINT test.exe

Итак, ожидаемый рабочий каталог здесь C:\app, но все равно он не работает с той же ошибкой.

Я думаю, что это просто тривиально для кого-то, знакомого с докером, но для меня это просто странная проблема (на самом деле докеризация основного приложения .NET не имеет подобных проблем, конечно, для этого мы используем dotnet запустить dll вместо запуска .exe непосредственно в .NET).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...