我正在尝试在Docker容器中运行Packetbeat,但它不会在端口9200上嗅探进入我的Elasticsearch Docker容器的数据包。在文档中,该文件有this section指出您可以添加--network=host
但有一个免责声明,说它在Mac或Windows上不起作用,因为Linux虚拟机泊坞程序位于“主机”上。
在Mac上,有什么方法可以让Packetbeat docker容器嗅探运行该容器的主机上的所有数据包(基本上就像我只是在运行普通可执行文件一样)?
这是我当前启动容器的方式:
Packetbeat
docker run -d --name packetbeat --network host --cap-add=NET_ADMIN \
-v $PWD/packetbeat.yml:/usr/share/packetbeat/packetbeat.yml \
docker.elastic.co/beats/packetbeat:6.2.4
Elasticsearch
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 \
-v $PWD/data/:/usr/share/elasticsearch/data/ \
-e "discovery.type=single-node" \
docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.4