我正在使用弹性堆栈。我使用
从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
任何人都可以告诉我正确的配置文件更新方法吗?我希望可以更改并重建映像。 谢谢
答案 0 :(得分:2)
使用docker-compose build
(不是docker build .
)进行重建,然后执行docker-compose up
还请确保您从正确的目录上下文(即docker-compose.yml文件所在的位置)运行命令。
从您的错误日志中看来,它似乎试图引用计算机上C:\ windows \ system32的安装路径,这是不正确的,因为我不认为您将项目工作存储在System32目录中对于Windows!