docker - 运行“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 上运行。
解决方案
检查 api.dll 的大小写,如果它不起作用,请尝试在前面添加“./”
FROM microsoft/dotnet AS base
WORKDIR /test/app
COPY ./app .
ENTRYPOINT [ "dotnet" , "./api.dll" ]
推荐阅读
- c# - 如果存在则增加字符串
- python - 识别多个熊猫数据框中的相似数据
- python-3.x - 如何在对象的每个方法调用上调用函数
- memory-leaks - WSO2 rabbitMQ - 创建但未关闭的通道 - 内存泄漏问题
- reactjs - React Load More 使用 Hooks
- node.js - 错误:在单击运行脚本时侦听 EADDRINUSE:地址已在使用 :::8080
- azure - 如何将多个接受的变量添加到标签
- python - 是否有相当于 Pandas TimeGrouper 的 PySpark?
- php - laravel 列中的具体路径
- python - 在 Keras 中训练好的 Inception 模型中选择要训练的层并添加跳过连接