Docker环境variables对于没有名字意味着什么?

在logstash的Docker仓库中,我看到这个例子来说明如何运行它:

$ docker run -it --rm logstash logstash -e 'input { stdin { } } output { stdout { } }' 

关于这个的奇怪的是-e论点。

Docker文档build议-e参数的语法只包含至less有一个=字符的string,并且在第一次出现这个字符时将参数拆分,形成一个(键,值)对,然后定义一个环境variables当图像运行时。

上面的例子不适合这个scheme。 上面的示例是-e的有效值吗? 如果是这样,那是什么意思?

-e不是docker run命令的选项,而是logstash的选项。 如果您尝试拆分docker和logstash部件,您将会像这样结束:

  1. docker运行-it –rm logstash …
  2. … logstash -e'input {stdin {}} output {stdout {}

因此,包括第一个logstash在内的所有东西都是logstash run命令的选项,而第二个logstash及其后的所有东西都是本地logstash命令,它将在docker容器中运行。