Docker撰写麋鹿堆栈配置文件更新不起作用

时间:2018-07-27 08:28:28

标签: image docker-compose logstash

我正在使用弹性堆栈。我使用

从git-hub und下载了一个组合包。
  

docker-compose up

合成效果很好。 现在,我想更改我的logstash默认.conf文件进行测试。所以我将其更改为

#include <iostream>
#include <thread>
#include <vector>
#include <functional>
#include <unistd.h>

class Tester
{
public:
    Tester(std::function<void(void)> func) : 
        th(func)
    {
    }

    ~Tester()
    {
        th.join()
    }

private:
    std::thread th;
};

std::vector<Tester> testers;

void InnerHelloWorld()
{
    std::cout << "Hello from the inner word!\n";
}

int main() {
    std::cout << "Hello World!\n";

    for(size_t i = 0 ; i < 4 ; i++)
    {
        testers.emplace_back(InnerHelloWorld);
    }

    sleep(1);

    return 0;
}

在运行测试Web应用程序时获取一些日志文件。 我以为我必须更改配置文件并重建映像。因此,在github reposiroty目录中,我进入了logstash文件夹并更改了配置文件。之后,我尝试执行

input {
file{
        path => "C:\Program Files\develop\eclipse_workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\logs\*"
        }
}

## Add your filters / logstash plugins configuration here

output {
    elasticsearch {
        hosts => "elasticsearch:9200"
    }
}

重建图像。

这导致输出:

docker build .

最后我尝试执行

> C:\Windows\User\docker-elk\logstash>docker build . Sending build
> context to Docker daemon   5.12kB Step 1/1 : FROM
> docker.elastic.co/logstash/logstash-oss:6.3.0  ---> 77bdbc2dc566
> Successfully built 77bdbc2dc566 SECURITY WARNING: You are building a
> Docker image from Windows against a non-Windows Docker host. All files
> and directories added to build context will have '-rwxr-xr-x'
> permissions. It is recommended to double check and reset permissions
> for sensitive files and directories.

但是我遇到了错误

docker-compose up

任何人都可以告诉我正确的配置文件更新方法吗?我希望可以更改并重建映像。 谢谢

1 个答案:

答案 0 :(得分:2)

使用docker-compose build(不是docker build .)进行重建,然后执行docker-compose up

还请确保您从正确的目录上下文(即docker-compose.yml文件所在的位置)运行命令。

从您的错误日志中看来,它似乎试图引用计算机上C:\ windows \ system32的安装路径,这是不正确的,因为我不认为您将项目工作存储在System32目录中对于Windows!