首页 > 解决方案 > 运行“docker run”时出现“未找到匹配命令的可执行文件”异常

问题描述

我是 docker 新手,我有一个简单的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 上运行。

标签: dockerasp.net-coredockerfile

解决方案


检查 api.dll 的大小写,如果它不起作用,请尝试在前面添加“./”

FROM microsoft/dotnet AS base

WORKDIR /test/app
COPY ./app .

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

推荐阅读