gpt4 book ai didi

docker - 了解Docker中的ENTRYPOINT

转载 作者:行者123 更新时间:2023-12-02 18:12:22 38 4
gpt4 key购买 nike

我将把Windows环境中的asp.net core 1.0代码推送到远程Linux docker容器。基本上,容器会将应用程序托管为服务器。

现在,我在不同的博客中看到了ENTRYPOINT的不同配置。

http://blog.dudak.me/2015/deploying-aspnet-5-applications-to-docker-containers/ 上的

  • ENTRYPOINT ["./kestrel"] Cannot run asp.net 5 from docker
  • 上的
  • ENTRYPOINT ["dnx", "-p", "project.json", "web"] https://alexanderzeitler.com/articles/Running-ASP.NET-5-beta4-in-Docker-with-DNX-runtime/
  • 上的
  • ENTRYPOINT ["dnx", "./src/HelloMvc6", "kestrel"]
  • ENTRYPOINT ["./web"](如果使用http://www.hanselman.com/blog/PublishingAnASPNET5AppToDockerOnLinuxWithVisualStudio.aspx
  • )

    我是Docker的新手。我不知道这些差异,也不确定可以使用哪一种。

    最佳答案

    这些是来自project.json的各种命令或调用project.json中的命令的脚本。

    如果查看a project.json file,您将看到类似以下命令的列表:

    "commands": {
    "gen": "Microsoft.Extensions.CodeGeneration",
    "run": "run server.urls=http://localhost:5003",
    "web": "Microsoft.AspNet.Server.Kestrel",
    "kestrel": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.Kestrel --server.urls http://localhost:5004",
    "weblistener": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5002"
    },

    另外,发布应用程序时,将生成带有命令名称的脚本。例如,对于 kestrel,dnx将生成 kestrel(unix)和 kestrel.cmd(windows),它们仅使用参数 dnx调用 kestrel

    传递给 -pdnx指定要运行的项目。在较新版本的 dnx中,您不需要 -p;相反,传递的第一个参数是项目路径。

    因此,在您的情况下:
  • ENTRYPOINT ["./kestrel"]是调用dnx . kestreldnx kestrel的脚本。
  • ENTRYPOINT ["dnx", "-p", "project.json", "web"]用参数dnx(Web命令)调用-p project.json web
  • ENTRYPOINT ["dnx", "./src/HelloMvc6", "kestrel"]与2相同,但是kestrel命令。
  • ENTRYPOINT ["./web"]与1相同,调用调用web命令的脚本。
  • 关于docker - 了解Docker中的ENTRYPOINT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36373873/

    38 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com