运行“docker run”时“没有找到匹配命令的可执行文件”异常

问题描述 投票:0回答:1

我是码头工人的新手,我在WebAPI有一个简单的asp.net core项目。我为我的项目创建了一个docker文件,但是我收到了以下错误:

No executable found matching command "api.dll"

我通过以下命令手动发布项目,并基于此创建了一个简单的docker文件。

dotnet publish -c Release -o ./app

Dockerfile:

FROM microsoft/dotnet AS base

WORKDIR /test/app
COPY ./app .

ENTRYPOINT [ "dotnet" , "api.dll" ]

当我通过手动安装文件夹和文件来运行项目时它工作得很好:

docker run --rm -it -p 9090:80 -v /path/to/my/publish/folder:/test/app microsoft/dotnet

但是,当我基于上述docker文件创建图像时

docker build -t myapp/test:dev .

然后尝试根据我收到错误的图像创建容器

docker run -it -p 9090:80 myapp/test:dev

而错误是:

No executable found matching command "api.dll"

我的做法有什么问题?谁有人可以帮忙?

PS:我在Mac OS X上运行。

docker asp.net-core dockerfile
1个回答
1
投票

检查api.dll的兑现,如果不能正常工作,请尝试添加“./”

FROM microsoft/dotnet AS base

WORKDIR /test/app
COPY ./app .

ENTRYPOINT [ "dotnet" , "./api.dll" ]
© www.soinside.com 2019 - 2024. All rights reserved.