如何在特定应用程序中使用 docker 端口映射 (Goreplay)

问题描述

我需要帮助来运行特定的 docker 容器。

我正在尝试使用这个项目 [Goreplay] (https://github.com/buger/goreplay) 这基本上是一种记录实时流量的工具。

例如这里 https://github.com/buger/goreplay/wiki/Getting-Started#saving-requests-to-file-and-replaying-them-later 我可以使用以下命令将请求保存到文件中: sudo ./gor --input-raw :8000 --output-file=requests.gor

其中 8000 是运行我的本地应用程序或服务器的端口。

现在,我想使用 docker,所以我找到了这张图片 https://hub.docker.com/r/buger/goreplay

我想捕获运行在端口 8000 上的同一本地服务器的流量,但是使用 docker 容器中的 goreplay .. 问题是我不知道如何正确映射端口,我试过这个:

docker run -i -t --rm -p 8000:8000 --name mygoreplay buger/goreplay --input-raw :3000 --output-file=requests_docker.gor

但它说

docker: Error response from daemon: driver Failed programming external connectivity on endpoint mygoreplay (b5c52ad18f266110085891015fed420c8548145a96837bcd09df464158261272): Error starting userland proxy: listen tcp 0.0.0.0:8000: bind: address already in use. ERRO[0004] error waiting for container: context canceled

如何正确映射端口,以便我在容器中的 goreplay 可以跟踪本地服务器的流量??

还有一个附带问题:我在哪里可以找到文件 requests_docker.gor?现在 goreplay 在 docker 容器中?

先谢谢你。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...