如何使Shell脚本指向.dll? (Docker ENTRYPOINT)

时间:2018-07-26 13:53:38

标签: .net bash shell docker

我正在使用Docker部署.NET Core应用程序。默认情况下,应用程序的DockerFile中的ENTRYPOINT类似于:

ENTRYPOINT ["dotnet", "applicationStartingPoint.dll"]

但是,在应用程序启动之前,我需要在容器中执行shell脚本。 CMD不适用于我,因此我需要将外壳脚本作为ENTRYPOINT,然后由DLL启动该应用程序。

您可以提供的任何见解将大有裨益。

1 个答案:

答案 0 :(得分:1)

您可以简单地创建一个名为entrypoint.sh的脚本。在此脚本中,您可以执行所需的任何操作,然后调用命令以启动应用程序。所以:

entrypoint.sh

#!/usr/bin/env sh

... my crazy pre-script

dotnet applicationStartingPoint.dll

Dockerfile

COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]

更新:我已向Dockerfile添加了如何在构建文件时将文件复制到容器并提供必要的权限。