Docker环境变量没有名称是什么意思?

时间:2015-12-04 11:54:37

标签: docker environment-variables

the Docker repository for logstash中,我看到了如何运行它的示例:

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

关于这个的奇怪之处是-e参数。

Docker文档建议-e参数的语法只包含至少有一个=字符的字符串,并且该字符首次出现时将该参数拆分为一个(键) ,value)对,然后在运行图像时定义一个环境变量。

上述示例不适合此方案。以上示例是-e的有效值吗?如果是这样,那是什么意思?

1 个答案:

答案 0 :(得分:2)

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

  1. docker run -it --rm logstash ...
  2. ... logstash -e'输入{stdin {}}输出{stdout {}
  3. 因此,包括第一个logstash在内的所有内容都是docker run命令的选项,而第二个logstash及其后的所有内容都是本机logstash命令,它将在docker容器内运行。 / p>