在我的Windows机器上运行这个docker compose文件:
搬运工-compose.yml:
version: '3.0'
services:
logstash:
image: logstash:latest
command: -f ./etc/logstash/config/ --log.level debug
volumes:
- ./config/:/etc/logstash/config/
- ./pipeline/:/etc/logstash/pipeline/
logstash.yml:
http.host: "0.0.0.0"
path.config: /etc/logstash/pipeline/logstash.conf
path.settings: /etc/logstash/config/logstash.yml
这给出了错误:
Failed to fetch pipeline configuration {:message=>"No config files found: ./etc/logstash/config/. Can you make sure this path is a logstash config file?"}
可能是什么问题?这是我的Win10机器上的目录结构:
/docker
/config
/logstash.yml
/pipeline
/logstash.conf
- 编辑
下一个配置文件解决了问题:
logstash:
image: logstash:latest
command: -f ./etc/logstash/pipeline/
volumes:
- ./config/:/etc/logstash/config/
- ./pipeline/:/etc/logstash/pipeline/
答案 0 :(得分:0)
您正在安装到错误的图像目录。 Logstas docker图像目录布局如下:
的/ usr /共享/ logstash /配置
的/ usr /共享/ logstash /管道
和bin,数据等一样。
请参阅更多信息:Logstash Docker Directory Layout
答案 1 :(得分:0)
您根据./config
文件的部分定义了将主机的/etc/logstash/config/
文件夹挂载到容器内的docker-compose.yaml
:
volumes:
- ./config/:/etc/logstash/config/
主机上的./config
文件夹路径是docker-compose.yaml
文件位置的相对路径。
docker-compose.yaml
位于./docker/config
文件夹中,因此其中没有.config
个文件夹。
要实现您想要的目标,只需将docker-compose.yaml
文件移至一级:
mv docker-compose.yaml ../
文件应位于./docker
文件夹中:
/docker
docker-compose.yaml
/config
/logstash.yml
/pipeline
/logstash.conf