当前位置: 首页 > ops >正文

查看使用宿主机模式的Docker容器端口

当Docker容器使用宿主机模式(--net=host)时,容器会直接使用宿主机的网络命名空间,这意味着容器和宿主机共享相同的网络接口和端口。在这种情况下,容器内部的进程就像在宿主机上直接运行一样,不会通过Docker的网络栈进行端口映射。因此,我们无法通过Docker的命令(如docker portdocker inspect)直接查看容器使用的端口。不过,我们可以通过查看宿主机上的进程和端口使用情况来确定容器使用了哪些端口。

一、使用netstatss命令

netstatss命令可以查看宿主机上所有进程的端口使用情况。你可以通过grep命令过滤出属于容器进程的端口。

1.使用netstat命令

netstat -tulnp | grep <container_process_name>

例如,如果你知道容器运行的进程名称是nginx,可以运行:

netstat -tulnp | grep nginx

2.使用ss命令

ss -tulnp | grep <container_process_name>

例如:

ss -tulnp | grep nginx

二、使用lsof命令

lsof命令可以列出所有打开的文件和网络连接,包括端口。你可以通过lsof命令来查看宿主机上所有进程的端口使用情况。

1.查看所有进程的端口使用情况

lsof -i

2.过滤特定进程的端口使用情况

如果你知道容器运行的进程名称,可以使用grep来过滤:

lsof -i | grep <container_process_name>

例如:

lsof -i | grep nginx

三、查看容器内部的进程

如果你不确定容器内部运行的进程名称,可以进入容器内部查看。

1.进入容器

docker exec -it <container_id_or_name> /bin/bash

2.在容器内部使用netstatss命令

在容器内部,你可以使用netstatss命令来查看容器内部的端口使用情况:

netstat -tulnp

或者:

ss -tulnp

四、查看容器的进程信息

如果你不知道容器的进程号,但知道容器的名称或ID,可以使用docker top命令查看容器内部的进程信息。

1.查看容器的进程信息

docker top <container_id_or_name>

这将列出容器内部运行的所有进程及其进程号。

2.结合lsof命令查看端口

你可以将docker top命令的输出与lsof命令结合使用,来查看这些进程使用的端口。例如:

docker top <container_id_or_name> | awk '{print $2}' | xargs -I {} lsof -i -p {}

示例

假设你的容器名称是myapp,你可以按照以下步骤操作:

1.查看容器的进程信息

docker top myapp

2.提取进程号并查看端口

docker top myapp | awk '{print $2}' | xargs -I {} lsof -i -p {}

Mermaid解释图

以下是使用Mermaid绘制的解释图,展示如何查看宿主机模式下容器的端口使用情况。

graph TDA[开始] --> B[容器使用宿主机模式]B --> C{是否知道进程名称}C -->|是| D[使用netstat或ss命令]C -->|否| E[进入容器内部]D --> F[netstat -tulnp | grep <进程名称>]D --> G[ss -tulnp | grep <进程名称>]E --> H[docker exec -it <容器ID或名称> /bin/bash]H --> I[在容器内部使用netstat或ss命令]I --> J[netstat -tulnp]I --> K[ss -tulnp]F --> L[查看端口使用情况]G --> LJ --> LK --> LL --> M[结束]
http://www.xdnf.cn/news/8193.html

相关文章:

  • 九、日志分析和系统故障排查
  • 【知识图谱】数据处理与数据存储
  • VTK—三维图像重建和剖切
  • 【博通芯片方案】调试指令详解版二(无线)
  • 高等数学-连续
  • 【RocketMQ 生产者和消费者】- 生产者启动源码-创建 MQClientInstance(2)
  • yarn 命令运行问题 bug
  • 催化燃烧型氢气传感器的响应速度和恢复速度如何?
  • os:进程与线程上
  • OS虚拟内存管理
  • 武汉火影数字|数字企业馆制作 多媒体数字化展厅
  • 4 SLAM(同步定位与建图)学习指南
  • 【北邮通信系统建模与仿真simulink笔记】(2)2.3搭建仿真模型模块操作运行仿真
  • F5《2025年应用战略现状》报告:AI 落地加速,企业战略从讨论迈向行动
  • 从原理到实践:一文详解残差网络
  • 【Bluedroid】蓝牙 HID Host connect全流程源码解析
  • 简说Qt信号和槽
  • 雅思英语考试基本介绍
  • 案例分享——福建洋柄水库大桥智慧桥梁安全监测
  • 一文讲透:如何用AI生成时序图
  • 六:操作系统虚拟内存之帧分配
  • 鸿蒙Flutter实战:23-混合开发详解-3-源码模式引入
  • MaskGIT:掩码图像生成经典方法
  • Github超19k+ strar的实时协同编辑的开源框架yjs
  • 楼宇智能照明控制系统设计与实现(基于组态软件)
  • Ubuntu更新源服务器时出现:pk-client-error-quark
  • 抖音IP属地跟无线网有关吗?如何更改
  • 从LCD1602显示实验看嵌入式仿真教学平台如何革新高校实践教育
  • “人工智能+多学科”选题思路,2025热点AI+(180个)
  • Linux进程信号(五)之捕捉信号