Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
了解docker中的入口点_Docker_Asp.net Core - Fatal编程技术网

了解docker中的入口点

了解docker中的入口点,docker,asp.net-core,Docker,Asp.net Core,我将把我的asp.net核心1.0代码从Windows环境推送到远程Linux docker容器。基本上,容器将作为服务器承载应用程序 现在我在不同的博客中看到ENTRYPOINT的不同配置 ENTRYPOINT[“/kestrel”]at ENTRYPOINT[“dnx”、“-p”、“project.json”、“web”] ENTRYPOINT[“dnx”、“/src/HelloMvc6”、“kestrel”]at ENTRYPOINT[“/web”]如果使用 我是新来的码头工人。我不知道它

我将把我的asp.net核心1.0代码从Windows环境推送到远程Linux docker容器。基本上,容器将作为服务器承载应用程序

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

  • ENTRYPOINT[“/kestrel”]
    at
  • ENTRYPOINT[“dnx”、“-p”、“project.json”、“web”]
  • ENTRYPOINT[“dnx”、“/src/HelloMvc6”、“kestrel”]
    at
  • ENTRYPOINT[“/web”]
    如果使用

  • 我是新来的码头工人。我不知道它们的区别,也不确定哪一个可以使用。

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

    如果查看,您将看到一个命令列表,如:

    "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),它只需使用参数
    kestrel
    调用
    dnx

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

    因此,在你的情况下:

  • ENTRYPOINT[“/kestrel”]
    是调用
    dnx的脚本。红隼
    或dnx红隼
  • ENTRYPOINT[“dnx”、“-p”、“project.json”、“web”]
    使用参数
    -p project.json web
    (web命令)调用
    dnx
  • ENTRYPOINT[“dnx”、“/src/HelloMvc6”、“kestrel”]
    与2相同,但使用
    kestrel
    命令
  • ENTRYPOINT[“/web”]
    与1相同,调用调用
    web
    命令的脚本

  • 您刚刚发布了一个随机命令列表。我建议从开始,然后问一些不清楚的问题。Entrypoint只是docker启动时运行的命令。您列出的示例大致相同。No.1和4
    kestrel
    web
    本身就是一个shell脚本,如果打开它,您会发现相同的
    dnx….
    命令。您可能想研究如何正确使用此命令。@warmoverflow,第4名。为什么要使用
    web
    ?这是一个特殊的词吗?我找不到那方面的文件。这是命令,谢谢。下面的问题。从中,它使用了一个不同的
    入口点[“/bin/bash”、“-c”、“dnx watch web”]
    。当我们将asp.net部署到docker容器时,我们应该使用这个还是从我最初的
    ENTRYPOINT
    1,2,3和4列表中选择任何一个?
    dnx watch
    通常是一个开发场景,因为它也需要您部署源代码。当您开发和更改代码时,这很好,因为当文件更改时,您的应用程序将重新启动,但在文件不更改的生产场景中,您不需要这样做。