Docker中的Logstash-通过卷挂载时找不到配置文件

查里诺

编辑:这似乎是boot2docker的事情...在运行docker的ubuntu vm中工作正常。

我正在尝试在Docker容器中启动logstash,但是当我将配置文件作为卷挂载时,似乎找不到它。有趣的是,如果我使用bash启动容器,则可以在其中看到配置文件,并运行与docker相同的命令,它可以工作。

Docker文件

FROM ubuntu:14.04
MAINTAINER cvallance

RUN apt-get update
RUN apt-get -yqq install openjdk-7-jre
RUN apt-get -yqq install curl
RUN mkdir /opt/logstash \
  && cd /opt/logstash \
  && curl -O https://download.elastic.co/logstash/logstash/logstash-1.4.2.tar.gz \
  && tar zxvf logstash-1.4.2.tar.gz

CMD ["/opt/logstash/logstash-1.4.2/bin/logstash", "agent", "--verbose", "-f", "/etc/logstash/sample.conf"]

配置文件位于 $(pwd)/config/sample.conf

input {
  stdin { }
}

output {
  stdout {
    codec => rubydebug
  }
}

Docker构建命令:

docker build -t cvallance/logstash .

Docker运行命令:

docker run -ti -v $(pwd)/config:/etc/logstash cvallance/logstash

错误:

Error: No config files found:  /etc/logstash/sample.conf
Can you make sure this path is a logstash config file?

但是如果我像这样在bash会话中在容器内运行相同的命令...

docker run -ti -v $(pwd)/config:/etc/logstash cvallance/logstash bash
...
root@d3fd885903dd:/# /opt/logstash/logstash-1.4.2/bin/logstash agent --verbose -f /etc/logstash/sample.conf

一切正常。即输入和输出

testing
{
       "message" => "testing",
      "@version" => "1",
    "@timestamp" => "2015-04-10T00:06:33.878Z",
          "host" => "d3fd885903dd"
}

如果这是“ boot2docker”问题,请记住,它为您提供了基于Tiny核心的Linux主机,没有任何持久性(除外/var/lib/docker)。

我要做的是确保已安装Oracle_VM_VirtualBox_Extension_Pack,并/c/Users/<yourLogin>在boot2docker ssh会话中自动将其共享。
我需要保留的内容都写在那里(/c/Users/<yourLogin>/...),而不是其他任何地方。
如果必须将主机目录作为数据卷挂载,则应从中挂载文件夹/c/Users/<yourLogin>/...

另一个选项(确实存在)是定义一个数据卷容器,它将在/var/lib/docker/volumes/conf.json中的和(对于实际文件)中保留数据/var/lib/docker/vfs/xxx
那是首选的最佳实践,因为它不会将数据容器链接到特定的主机平台(此处“/c/Users/<yourLogin>实际上取决于Windows上的VM主机!不是非常可移植。”)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Powershell-在应用程序配置文件中找不到程序集绑定重定向

来自分类Dev

在测试项目应用程序配置文件中找不到connectionString

来自分类Dev

在xcode 6中找不到匹配的配置文件

来自分类Dev

严重:在配置文件中找不到索引

来自分类Dev

在应用程序配置文件中找不到名为连接字符串

来自分类Dev

Wildfly-“在主配置文件中找不到连接器“ netty”

来自分类Dev

在OSX中挂载Docker卷时权限被拒绝

来自分类Dev

仅在命令行工具中找不到匹配的配置文件

来自分类Dev

Logstash配置文件中的错误

来自分类Dev

Docker在挂载卷时的行为

来自分类Dev

Core xUnit Test Project中的配置:找不到配置文件“ appsettings.test.json”

来自分类Dev

找不到带有.ebextensions的AWS Elasticbeanstalk中的Nginx配置文件

来自分类Dev

找不到入口模块中的错误-在Webpack配置文件中

来自分类Dev

Docker配置找不到现有文件?

来自分类Dev

ExceptionHandler在nest.js中找不到“配置文件”的元数据

来自分类Dev

将克隆的Rails 4 S3应用程序推送到Heroku时,在我的bash配置文件中找不到Amazon Web Services密钥和ID

来自分类Dev

在配置文件中找不到连接字符串。但它在那里

来自分类Dev

EFI找不到加载程序。需要\ loader \ entries \ *。conf中的配置文件

来自分类Dev

在应用程序配置文件中找不到名为“”的连接字符串

来自分类Dev

如何使用Logstash配置文件将Logstash中的字段设置为“ not_analyzed”

来自分类Dev

安装EXE后,“在应用程序配置文件中找不到名为“ ConnectionString”的连接字符串”

来自分类Dev

通过保存映像中的数据在Docker中挂载卷

来自分类Dev

在应用程序配置文件中找不到名为“ xxx”的连接字符串

来自分类Dev

celery守护程序:在配置文件中找不到/ celeryd错误

来自分类Dev

System.InvalidOperationException:在应用程序配置文件中找不到名为“SALESDBEntities”的连接字符串

来自分类Dev

Logstash Docker 镜像配置

来自分类Dev

在配置 nginx 中更改 root 时出现“找不到文件”

来自分类Dev

在xml配置文件中找不到类[org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean]

来自分类Dev

Docker-compose 找不到 Flask 配置文件

Related 相关文章

  1. 1

    Powershell-在应用程序配置文件中找不到程序集绑定重定向

  2. 2

    在测试项目应用程序配置文件中找不到connectionString

  3. 3

    在xcode 6中找不到匹配的配置文件

  4. 4

    严重:在配置文件中找不到索引

  5. 5

    在应用程序配置文件中找不到名为连接字符串

  6. 6

    Wildfly-“在主配置文件中找不到连接器“ netty”

  7. 7

    在OSX中挂载Docker卷时权限被拒绝

  8. 8

    仅在命令行工具中找不到匹配的配置文件

  9. 9

    Logstash配置文件中的错误

  10. 10

    Docker在挂载卷时的行为

  11. 11

    Core xUnit Test Project中的配置:找不到配置文件“ appsettings.test.json”

  12. 12

    找不到带有.ebextensions的AWS Elasticbeanstalk中的Nginx配置文件

  13. 13

    找不到入口模块中的错误-在Webpack配置文件中

  14. 14

    Docker配置找不到现有文件?

  15. 15

    ExceptionHandler在nest.js中找不到“配置文件”的元数据

  16. 16

    将克隆的Rails 4 S3应用程序推送到Heroku时,在我的bash配置文件中找不到Amazon Web Services密钥和ID

  17. 17

    在配置文件中找不到连接字符串。但它在那里

  18. 18

    EFI找不到加载程序。需要\ loader \ entries \ *。conf中的配置文件

  19. 19

    在应用程序配置文件中找不到名为“”的连接字符串

  20. 20

    如何使用Logstash配置文件将Logstash中的字段设置为“ not_analyzed”

  21. 21

    安装EXE后,“在应用程序配置文件中找不到名为“ ConnectionString”的连接字符串”

  22. 22

    通过保存映像中的数据在Docker中挂载卷

  23. 23

    在应用程序配置文件中找不到名为“ xxx”的连接字符串

  24. 24

    celery守护程序:在配置文件中找不到/ celeryd错误

  25. 25

    System.InvalidOperationException:在应用程序配置文件中找不到名为“SALESDBEntities”的连接字符串

  26. 26

    Logstash Docker 镜像配置

  27. 27

    在配置 nginx 中更改 root 时出现“找不到文件”

  28. 28

    在xml配置文件中找不到类[org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean]

  29. 29

    Docker-compose 找不到 Flask 配置文件

热门标签

归档