使用Docker将.net核心应用程序作为Windows服务托管

时间:2019-06-25 04:53:17

标签: docker .net-core

我已经使用usign .net核心实现了一个应用程序。部署此应用程序时,它将作为Windows服务安装,并且可以通过浏览services.msc来查看(使用命令:*。exe操作:install)

但是,我想使用docker安装/部署此应用程序。

我有一个dockerfile,其中包含如下入口点语句:

ENTRYPOINT ["*.exe", "action:install"]

我正在执行docker build并运行以下命令:

docker build -t proc2 . (image is successfully built)
docker run --name process2 proc2 (error)

执行docker run命令后,返回以下错误:

  

C:\ Program Files \ Docker \ Docker \ Resources \ bin \ docker.exe:错误   来自守护程序的响应:OCI运行时创建失败:   container_linux.go:344:启动容器过程引起的“ exec:   \“ *。exe \”:在$ PATH中找不到可执行文件“:未知。

能帮我吗?

此外,请在dockerfile下找到:

FROM microsoft/dotnet:1.0-sdk AS build
WORKDIR /app

#copy published
COPY processor ./

# make entry point
FROM microsoft/dotnet:1.0-runtime AS final
ENTRYPOINT ["*.exe", "action:install"]

提前谢谢

1 个答案:

答案 0 :(得分:0)

似乎您在构建过程中将可执行文件放入/ app中。因此,当您启动映像时,入口点应该类似于/app/bla.exe。

我宁愿不使用通配符作为入口点,因为您只能在此处运行一个命令,如果有多个文件与通配符匹配,则麻烦就开始了。