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部件,您将会像这样结束:
- docker运行-it –rm logstash …
- … logstash -e'input {stdin {}} output {stdout {}
因此,包括第一个logstash
在内的所有东西都是logstash
run命令的选项,而第二个logstash
及其后的所有东西都是本地logstash命令,它将在docker容器中运行。