在the Docker repository for logstash中,我看到了如何运行它的示例:
$ docker run -it --rm logstash logstash -e 'input { stdin { } } output { stdout { } }'
关于这个的奇怪之处是-e
参数。
Docker文档建议-e
参数的语法只包含至少有一个=
字符的字符串,并且该字符首次出现时将该参数拆分为一个(键) ,value)对,然后在运行图像时定义一个环境变量。
上述示例不适合此方案。以上示例是-e
的有效值吗?如果是这样,那是什么意思?
答案 0 :(得分:2)
-e
不是docker run命令的选项,而是logstash的选项。如果您尝试拆分docker和logstash部分,您最终会像这样:
因此,包括第一个logstash
在内的所有内容都是docker run命令的选项,而第二个logstash
及其后的所有内容都是本机logstash命令,它将在docker容器内运行。 / p>