1

我有一个定义 ENTRYPOINT 的dotnetDockerfile。另外,我有一个程序被配置为在supervisor(带有supervisord.conf定义)下运行。当容器运行时,我需要启动主管服务并将几个参数传递给 ENTRYPOINT 可执行文件。我不能结合 ENTRYPOINT 和 CMD,因为 CMD 参数与 ENTRYPOINT 无关。我还想保留 ENTRYPOINT 以明确让容器包装dotnet执行。关于如何实现这一点的任何想法?

我知道我的方案完全有效,因为我可以附加到正在运行的容器然后启动supervisor服务。

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
…
FROM base AS final    
ENTRYPOINT ["dotnet", "BLAH.dll"]
CMD ["service", "supervisor", "start"]
4

1 回答 1

2

看起来您想同时运行两个不同的服务。
您无法通过 Dockerfile 实现这一点。

我建议您编写一个脚本来运行这两种服务。
并在您的CMDENTRYPOINTDockerfile 中使用该脚本。

于 2019-02-07T02:37:45.620 回答