添加tcpdump docker镜像和基本镜像节点:10.0.0

时间:2019-03-26 17:51:34

标签: docker tcp

如果基本映像为 private GenericEntityActionResult transform (EntityActionResult result) { AsnGenericEntityActionResult r = new AsnGenericEntityActionResult(); if (result.getCode() == EntityActionResult.Code.ENTITY || result.getCode() == EntityActionResult.Code.ENTITY_LIST ) { r.setCode(AsnGenericEntityActionResult.Code.OK); List <? extends GenericDTO> list = new ArrayList<>(); if (result.getEntity() != null) { //transform this entity into DTO //<b>SOMETHING LIKE list.add(result.getEntity());</b> } else if (result.getList() != null && !result.getList().isEmpty()) { for (AbstractEntity a:result.getList()) { //transform this entity into DTO //<b>SOMETHING LIKE list.add(result.getEntity());</b> //list.add(result.getEntity()); } } r.setList(list); } return r; ,如何在Dockerfile中添加abstract <T extends GenericDTO> transformToDTO()

Dockerfile:

AbstractEntity

我想跟踪此容器中的流量。

2 个答案:

答案 0 :(得分:0)

您的基本映像是基于debian的,因此请使用apt-get作为软件包管理器。将以下说明添加到您的dockerfile中:

USER root 
RUN apt-get update -y; exit 0
RUN apt-get install tcpdump -y

说明:

用户root -apt-get需要root权限。

运行apt-get update -y;退出0 -我要添加exit 0来告诉docker我要保留构建,即使apt-get无法获得其镜像文件的全部

运行apt-get install tcpdump -y -安装软件包。

答案 1 :(得分:0)

不必要修改图像以访问容器的网络。您可以在同一网络名称空间中运行另一个容器:

docker run -it --net container:${container_to_debug}  nicolaka/netshoot 

从那里,您可以运行tcpdump和其他各种网络调试工具,并查看流向其他容器的流量。要查看netshoot中包含的所有工具,请参见github repo:https://github.com/nicolaka/netshoot