Dockerfile
:
FROM mcr.microsoft.com/dotnet/runtime-deps:7.0.10-alpine3.18-amd64
ARG APP_DIR=/var/lib/app/
WORKDIR $APP_DIR
# etc.
ENTRYPOINT ["MyApp"] # executable file located at /var/lib/app/MyApp
运行该容器时:
docker:来自守护进程的错误响应:无法为容器创建任务:无法创建 shim 任务:OCI 运行时创建失败:runc 创建失败:无法启动容器进程:exec:“MyApp”:在 $PATH 中找不到可执行文件:未知。
我指定了WORKDIR
,为什么找不到可执行文件?
(如果我使用它就可以ENTRYPOINT ["/var/lib/app/MyApp"]
,所以这不是权限问题。)
如果 PATH 不包含当前目录,则需要使用以下命令显式请求当前目录中的二进制文件
./
:要成功运行您的示例,您可以使用:
或者
原因是
因此你失踪了
$PWD
。(链接到文档)看到不同:
ENTRYPOINT ["env"]
(执行表格)ENTRYPOINT ["sh", "-c", "env"]
(执行表格)ENTRYPOINT env
(外壳形式)