如何让 shell 脚本指向 .dll?(Docker 入口点)

mku*_*lak 2 .net bash shell docker

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

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

但是,在应用程序开始之前,我需要在容器中执行一个 shell 脚本。CMD为此,该名称对我不起作用,因此我需要有一个 shell 脚本作为我的脚本ENTRYPOINT,然后通过 DLL 启动应用程序。

您可以提供的任何见解都将非常有益。

Joa*_*nha 5

您可以简单地创建一个名为entrypoint.sh. 在这个脚本中,你可以做任何你想做的事情,然后调用命令来启动应用程序。所以:

入口点.sh

#!/usr/bin/env sh

... my crazy pre-script

dotnet applicationStartingPoint.dll
Run Code Online (Sandbox Code Playgroud)

Dockerfile

COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
Run Code Online (Sandbox Code Playgroud)

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