运行“ docker run”时出现“找不到与命令匹配的可执行文件”异常

时间:2019-04-19 06:24:19

标签: docker asp.net-core dockerfile

我是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上运行。

1 个答案:

答案 0 :(得分:1)

检查api.dll的大小写,如果不起作用,请尝试在

前添加“ ./”
FROM microsoft/dotnet AS base

WORKDIR /test/app
COPY ./app .

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