Docker端口冲突难排查?:99%的人都忽略的3个关键检测点

产业园区如何高效对接企业技术需求与高校科研成果?.docx 科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。 立即下载

第一章:Docker端口冲突的本质与常见表现

Docker端口冲突是指多个容器尝试绑定到宿主机同一IP地址和端口组合时发生的资源争用问题。当宿主机的某个端口已被占用,而新启动的容器仍试图映射该端口时,Docker将无法完成端口绑定,导致容器启动失败或服务不可访问。

端口冲突的根本原因

Docker使用宿主机的网络命名空间来暴露容器服务,通过 `-p` 或 `--publish` 参数将容器端口映射到宿主机。若两个容器配置了相同的宿主机端口映射(如 `-p 8080:80`),且同时运行,则后启动的容器会因端口已被占用而报错。
  • 宿主机端口被其他Docker容器占用
  • 宿主机上运行了非Docker进程(如Nginx、Apache)占用了目标端口
  • 未清理的残留容器仍在后台监听端口

典型错误表现

启动容器时可能出现如下错误信息:

Error response from daemon: driver failed programming external connectivity on endpoint web_server: Bind for 0.0.0.0:8080 failed: port is already allocated
该提示表明端口 8080 已被分配,无法重复绑定。

常见排查方法

可通过以下命令查看当前被占用的端口及对应进程:

# 查看宿主机端口占用情况
sudo netstat -tulnp | grep :8080

# 查看正在运行的Docker容器及其端口映射
docker ps --format "table {{.Names}}\t{{.Ports}}"

# 查看所有容器(含已停止)以确认是否有残留服务
docker ps -a
现象可能原因
容器启动失败,提示端口已分配其他容器或进程占用了目标端口
服务无法从外部访问端口映射配置错误或冲突未被察觉

第二章:关键检测点一:宿主机端口占用排查

2.1 理解宿主机端口绑定机制

在容器化环境中,宿主机端口绑定是实现外部访问服务的关键机制。通过将容器内的端口映射到宿主机的特定端口,外部请求可通过宿主机IP和对应端口转发至容器。
端口绑定语法解析
Docker中常用 `-p` 参数进行端口映射,其格式为:
docker run -p [宿主机IP:]宿主机端口:容器端口[/协议]
例如:
docker run -p 8080:80 nginx
表示将宿主机的8080端口映射到容器的80端口,HTTP请求访问宿主机8080端口时,将被转发至Nginx容器。
常见映射类型
  • 单一端口映射:如 8080:80,最常见用法
  • 指定IP绑定:如 127.0.0.1:9000:80,限制仅本地访问
  • 随机端口分配:使用 -P 参数由系统自动分配宿主机端口
该机制依赖于Linux内核的netfilter和iptables规则实现流量重定向,确保网络数据包正确流转。

2.2 使用netstat和ss命令精准定位占用进程

在排查网络端口占用问题时,`netstat` 和 `ss` 是两个关键工具。它们能列出系统中所有活动的网络连接与监听端口,并关联到具体进程。
使用 netstat 查看端口占用
netstat -tulnp | grep :80
该命令中,-t 显示 TCP 连接,-u 显示 UDP,-l 列出监听状态的端口,-n 以数字形式显示地址和端口,-p 显示占用进程的 PID 和程序名。通过管道过滤特定端口(如 80),可快速定位服务来源。
使用更高效的 ss 命令
现代 Linux 系统推荐使用 `ss`,它是 `netstat` 的替代品,性能更优:
ss -tulnp | grep :80
参数含义与 `netstat` 相同,但 `ss` 直接从内核获取信息,响应更快。
命令适用场景性能
netstat传统系统,调试兼容性较慢
ss现代系统,快速诊断快

2.3 实践:通过lsof识别冲突服务并释放端口

在服务部署过程中,端口占用是常见问题。`lsof`(List Open Files)是一个强大的诊断工具,可用于查看系统中被占用的端口及其关联进程。
查看指定端口的占用情况
使用以下命令可列出占用特定端口的进程:
lsof -i :8080
该命令扫描网络接口,输出格式包含进程ID(PID)、用户、协议和连接状态。关键字段说明: - `COMMAND`:启动进程的程序名; - `PID`:进程标识符,用于后续操作; - `USER`:运行进程的用户; - `TYPE=IPv4/6`:网络协议类型; - `STATE`:连接状态(如LISTEN、ESTABLISHED)。
终止冲突进程并释放端口
获取PID后,可通过kill命令结束进程:
kill -9 <PID>
执行后再次运行 `lsof -i :8080` 验证端口是否释放。此流程适用于开发调试与自动化运维脚本,有效避免端口冲突导致的服务启动失败。

2.4 容器启动失败时的端口状态快速诊断

常见启动失败原因分析
容器启动失败常与端口冲突或服务未绑定有关。首要排查目标是确认宿主机端口占用情况及容器内进程监听状态。
快速诊断命令
使用以下命令组合可快速定位问题:

# 查看宿主机端口占用
lsof -i :8080

# 检查容器日志
docker logs <container_id>

# 进入容器验证服务监听
docker exec -it <container_id> netstat -tuln | grep 80
上述命令依次检测宿主机端口占用、容器运行日志及内部监听状态。若 lsof 显示端口被占用,需释放资源;若 netstat 无输出,则容器内服务未正确绑定端口。
诊断流程图
开始 → 容器启动失败 → 检查宿主机端口占用 → 端口被占? → 更换端口或终止进程
↓(否)
检查容器日志 → 服务异常? → 修复应用配置
↓(否则)
进入容器检查监听 → 未监听指定端口 → 调整应用监听地址为 0.0.0.0

2.5 避免端口冲突的宿主机规划策略

在多服务部署场景中,宿主机端口资源有限,合理规划是避免冲突的关键。通过统一端口分配策略,可有效提升系统稳定性与可维护性。
端口分段管理
建议将宿主机端口划分为不同区间,用于区分服务类型:
  • 0–1023:系统保留端口,避免占用
  • 1024–49151:注册服务使用(如 Web 服务 8080、数据库 3306)
  • 49152–65535:动态/临时端口,供容器随机映射
Docker 端口映射示例
docker run -d --name web-service -p 8081:80 nginx
该命令将容器内 80 端口映射到宿主机 8081,避免与本地已运行的 80 服务冲突。参数 -p 格式为 宿主机端口:容器端口,显式指定可防止自动分配导致的重复。
集中式端口管理表
服务名称宿主机端口容器端口协议
API Gateway808080TCP
MySQL33073306TCP

第三章:关键检测点二:Docker容器网络模式分析

3.1 不同网络模式下端口映射的行为差异

在容器化环境中,网络模式的选择直接影响端口映射的可见性与访问方式。常见的网络模式包括 `bridge`、`host`、`none` 和 `overlay`,每种模式对端口映射的处理机制存在显著差异。
Bridge 模式下的端口映射
Docker 默认使用 bridge 模式,通过 NAT 实现端口映射。宿主机上的端口绑定需显式声明:
docker run -d -p 8080:80 nginx
该命令将容器的 80 端口映射到宿主机的 8080 端口。外部请求通过宿主机 IP 和 8080 端口访问服务。`-p` 参数触发 iptables 规则配置,实现流量转发。
Host 与 None 模式的对比
  • Host 模式:容器直接共享宿主机网络命名空间,无需端口映射,服务绑定至原生端口。
  • None 模式:容器无网络接口,端口映射无效,适用于隔离任务。
模式端口映射支持网络性能
Bridge支持中等
Host不适用高

3.2 bridge模式下的端口暴露原理与实践

在Docker的bridge网络模式中,容器通过虚拟网桥与宿主机通信。端口暴露的核心机制是通过iptables规则将宿主机的端口映射到容器内部端口。
端口映射配置方式
启动容器时使用 `-p` 参数可实现端口绑定:
docker run -d -p 8080:80 nginx
该命令将宿主机的8080端口映射至容器的80端口。Docker会在iptables的NAT表中插入规则,实现流量转发。
iptables规则示例
链名协议目标端口动作
DOCKERTCP8080DNAT to 172.17.0.2:80
此规则将进入宿主机8080端口的TCP流量重定向至容器IP的80端口。
网络数据流向
外部请求 → 宿主机防火墙 → iptables DNAT → 容器网络栈 → 应用服务

3.3 host与none模式对端口冲突的影响解析

在Docker网络配置中,`host`模式和`none`模式对端口映射机制有显著影响。`host`模式下容器直接共享宿主机网络命名空间,不进行端口映射,因此不会发生端口冲突。
host模式示例
docker run --network=host nginx
该命令启动的Nginx容器将直接使用宿主机的80端口,若宿主机已有服务占用80端口,则会产生端口争用问题。
none模式特性
  • 容器拥有独立网络栈,无外部网络访问能力
  • 不分配IP地址,不暴露端口
  • 完全规避端口冲突风险
模式端口映射冲突风险
host无高
none不适用无

第四章:关键检测点三:Docker服务与编排配置审查

4.1 检查docker-compose.yml中的端口声明规范

在编写 `docker-compose.yml` 文件时,正确声明服务端口是确保容器间通信和外部访问的关键。端口映射需遵循 `HOST:CONTAINER` 格式,支持完整声明或简化写法。
端口声明格式
常见的端口映射方式包括字符串形式和数组形式:
version: '3'
services:
  web:
    image: nginx
    ports:
      - "8080:80"          # 字符串映射
      - "127.0.0.1:8443:443" # 绑定指定IP
      - "9000-9005:9000-9005" # 范围映射
上述配置中,`8080:80` 表示宿主机的 8080 端口映射到容器的 80 端口;`127.0.0.1:8443:443` 限制仅本机可访问,增强安全性。
常见问题与建议
  • 避免端口冲突:确保宿主机端口未被占用
  • 敏感服务应绑定到本地回环地址
  • 生产环境建议显式声明 IP 绑定

4.2 Kubernetes中Service与Pod端口配置一致性验证

在Kubernetes中,Service通过标签选择器关联Pod,而端口配置的一致性直接影响通信可达性。若Service的`targetPort`与Pod容器实际监听端口不匹配,流量将无法正确转发。
关键配置项对照
  • port:Service对外暴露的端口
  • targetPort:后端Pod容器实际监听的端口
  • containerPort:Pod定义中容器开放的端口,必须与targetPort一致
典型配置示例
apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: my-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
---
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
  labels:
    app: my-app
spec:
  containers:
    - name: app-container
      image: nginx
      ports:
        - containerPort: 8080
上述配置中,Service监听80端口,将请求转发至Pod的8080端口,需确保Pod容器确实在8080端口启动服务,否则连接将被拒绝。

4.3 Docker运行时参数中的-p与-P使用陷阱

在Docker容器化部署中,网络端口映射是关键环节。`-p` 与 `-P` 参数虽看似简单,但使用不当易引发服务不可达或端口冲突。
单个端口映射:-p 参数详解
docker run -d -p 8080:80 nginx
该命令将宿主机的8080端口映射到容器的80端口。若宿主机端口未释放,会导致容器启动失败,需确保端口可用性。
批量端口暴露:-P 的潜在风险
docker run -d -P my-web-app
此命令会自动映射Dockerfile中EXPOSE声明的所有端口,但宿主端口由系统随机分配(如32768+),可能导致外部访问路径不可预测,不适用于生产环境固定端口需求。
常见问题对比表
参数映射方式适用场景
-p手动指定端口生产环境、固定端口
-P随机动态分配开发测试、临时调试

4.4 多容器环境下端口复用与隔离最佳实践

在多容器部署场景中,合理管理服务端口是保障系统稳定与安全的关键。通过端口映射和网络命名空间隔离,可实现多个容器共享主机端口的同时避免冲突。
使用 Docker 的端口映射机制
docker run -d --name service-a -p 8080:80 nginx
docker run -d --name service-b -p 8081:80 nginx
上述命令将不同容器的 80 端口映射到主机的 8080 和 8081 端口,实现端口复用与访问隔离。参数 `-p` 格式为 `主机端口:容器端口`,确保外部请求精准路由。
借助用户自定义桥接网络提升隔离性
  • 创建独立网络:防止容器间不必要的端口暴露
  • 启用 DNS 自动发现:容器可通过名称通信,降低对固定端口的依赖
  • 限制网络策略:结合防火墙规则控制跨容器访问
合理规划端口分配策略,结合网络层级设计,能有效提升多容器环境的安全性与可维护性。

第五章:构建可预测的端口管理机制与未来展望

在大规模微服务架构中,端口冲突与动态分配不可控成为运维瓶颈。为实现可预测的端口管理,企业常采用静态端口规划结合配置中心的策略。例如,通过 Consul 或 Etcd 集中注册服务端口,并在启动时校验可用性。
端口分配策略实践
  • 核心服务预留固定端口段(如 8000–8100),避免运行时冲突
  • 开发环境使用动态端口池,由调度系统自动分配并更新 DNS 记录
  • 通过 Kubernetes Service 的 targetPort 与 nodePort 实现解耦映射
自动化端口检测示例

// 检查端口是否被占用
func isPortAvailable(port int) bool {
    listener, err := net.Listen("tcp", fmt.Sprintf(":%d", port))
    if err != nil {
        return false
    }
    _ = listener.Close()
    return true
}

// 预分配端口并注册到配置中心
func allocatePort(serviceName string) (int, error) {
    for port := 8000; port <= 8100; port++ {
        if isPortAvailable(port) {
            // 注册至 Etcd
            etcdClient.Put(context.Background(), 
                fmt.Sprintf("/ports/%s", serviceName), 
                strconv.Itoa(port))
            return port, nil
        }
    }
    return 0, errors.New("no available port")
}
端口管理演进方向
阶段方案优势
传统部署手动配置简单直接
容器化初期Docker 随机映射避免宿主机冲突
云原生阶段Service Mesh + mTLS端口透明化,按身份路由
流程图:端口分配决策流
服务注册 → 查询配置中心 → 判断是否已有分配 → 是 → 返回已有端口
↓ 否 → 扫描可用端口 → 分配并写入注册表 → 启动服务
国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx 科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。 立即下载

相关推荐

端口冲突总找不到原因?,一文掌握Docker容器端口冲突精准检测术

轻松解决Docker容器端口冲突难题,本文详解端口冲突检测方法与排查技巧,涵盖常见场景、docker ps与netstat命令结合使用等核心操作,精准定位占用端口。实用高效,值得收藏

CodeNexus的博客 631

内存设计指南:01 Xilinx DDR4 design guide解析

最近有很多网友咨询FPGA DDR4为什么速率总是上不去的问题,发现他们的设计确实很随意,都没有遵守一些手册的基本要求,所以今天和大家一起重新读一读DDR4 design guide,看看哪些要求是一定不能忽略的。首次设计一款新的芯片或者内存方案时,可能会无从下手。对于内存设计,官方指导首推JEDEC规范,每一代内存推出时,在JEDEC官网均能找到对应的规范文档、各种内存形式的说明文档如DDR4-JESD79、DDR4 SDRAM UDIMM Design Specification以及内存条DEMO等。

halee_00的博客 3302

彻底搞懂Docker容器端口映射机制:动态与静态暴露范围的取舍之道

掌握Docker容器端口映射核心技巧,深入解析动态与静态暴露范围的适用场景与配置方法。涵盖端口绑定原理、安全策略及服务发现优化,帮助开发者高效管理容器通信。彻底搞懂Docker容器的暴露端口范围,提升部署灵活性与安全性,值得收藏。

PixelFlow的博客 880

别再被手机厂商忽悠了!一文看懂光学变焦、数字变焦和混合变焦到底有啥区别

本文深入解析手机摄影中的光学变焦、数字变焦和混合变焦技术,揭示它们的工作原理和实际效果差异。光学变焦保持无损画质,数字变焦依赖算法放大,而混合变焦结合两者优势。帮助消费者识破厂商宣传,根据实际需求选择最适合的变焦方式,提升拍摄质量。

weixin_28717969的博客 411

GEE:面对对象土地利用分类(结合SNIC、GLCM 和机器学习算法)

本文将介绍在Google Earth Engine中结合SNIC、GLCM和机器学习算法的的土地利用/土地覆盖(LULC)分类方法。结果如下图所示,

养乐多的博客 5617

docker的host模式如何查看监听端口

docker的默认网络模式为bridge,这个模式下使用docker ps docker inspect 和第三方的portainer都能很好地查看端口映射。但是host模式下却不是那么好看。即可查询指定容器监听的端口。找到容器的pid之后执行。这里简单提一下查看方法。

gsls200808的专栏 4765

笔试题-2023-芯原-数字前端设计or验证【纯净题目版】

笔试题-2023-芯原-数字前端设计or验证【纯净题目版】

w0shishabi的博客 5685

查看docker 容器的端口

若要关闭使用这个端口的程序,使用kill + 对应的pid。Linux 下查看某个端口被哪个进程或程序占用。kill -9 进程号 可结束该进程。查看docker 容器的端口。查找指定端口使用的pid。kill -9PID号。

web18224617243的博客 1万+

Agentic AI为教育行业赋能,提示工程架构师解析应用潜力

然而,即便是最先进的 LLMs,在面对复杂、动态、需要持续规划和调整的教育场景时,也常常显得力不从心,它们更像是强大的“问答机器”,而非真正意义上的“学习伙伴”或“教学助手”。在教育场景中,传统的 AI 工具可能只能回答学生提出的特定问题,或者根据预设的规则推送一些学习材料。无论您是教育技术领域的开发者、产品经理,还是一线的教育工作者、教育管理者,抑或是对 AI 教育应用充满好奇的研究者,本文都将为您提供宝贵的 insights,助您把握 Agentic AI 时代教育创新的脉搏。

架构师的AI之路,分享AI应用开发架构的学习与实践。 466

31、摩擦学中的材料选择

本博文深入探讨了摩擦学应用中材料选择的重要性,分析了材料的机械、物理和化学属性对摩擦学性能的影响。同时介绍了材料匹配原则、处理方法及表面涂层技术,以优化耐磨性和抗腐蚀性。通过实际案例和评估方法,为读者提供了系统化的材料选择流程和决策依据。

juice的博客 246

解决docker服务端口占用问题,bind:Address already in use

经过排查,我在docker容器中执行了api和rpc的服务代码,但由于连接超时导致服务未关闭,才造成了端口的占用。然后执行以下代码查看该容器内的进程,比如这个容器的识别号是f5f7ab7cbdd6。一般来说,到这里端口占用的问题就可以解决了,然而我在启动rpc服务时仍然报错。定位到端口的pid值,例如我需要的端口号是9001,则对应pid为3197。可以看到,之前启动的rpc和api服务仍在运行,因此需要把它们kill掉。在调试rpc和api服务的代码时,启动服务就出现。然后,执行代码kill掉该进程。..

qq_39578356的博客 2万+

【计算机视觉 | MMDetection】关于mmdetection如何计算参数量、计算量和速度FPS

【计算机视觉 | MMDetection】关于mmdetection如何计算参数量、计算量和速度FPS

wzk4869的博客 3022

CARLA快速启动包:解决Ubuntu+GPU环境安装失败的核心方案

CARLA作为主流自动驾驶仿真平台,本质是UE4引擎、Python绑定与世界模型的深度耦合体,其运行高度依赖操作系统ABI、NVIDIA驱动版本、CUDA Toolkit精确版本及Python ABI兼容性等底层工程约束。传统‘按官网步骤安装’方式因忽略GLIBC版本差异、Vulkan驱动缺失、cmake模块路径变更等隐性依赖,导致90%以上用户首次部署失败。本方案以环境锁死与故障前置化为设计核心,通过操作系统指纹校验、GPU驱动双检、CUDA 11.7.1精准注入及Python 3.8.10原子化隔离,构

davy57345的博客 380

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

docker 查看端口被占用进程

以下找到相应进程或容器后,可以将对于进程或容器停止或删除 现在希望启动一个docker container, 把 container 中的 80 端口映射到宿主机。 [root@cmdb2 ~]# docker run -p 80:80 -it 9d1c954badc7 /bin/bash [root@cmdb2 ~]# docker ps CONTAINER ID IM...

喔易 5万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

docker 暴露端口 查看_docker 打开监听端口

安装docker的镜像ubuntu,链接:http://www.cnblogs.com/liqiu/p/4162719.html一、登录ubuntu@~ $ docker run -i -t 9bd07e480c5b /bin/bashroot@d411227dd25b:/#二、安装登录sshroot@d411227dd25b:/# apt-get install openssh-serverRe...

weixin_34752204的博客 2340

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

docker 查看容器开放的端口

docker port 容器 这个只能查看run时-p的端口,不能查看iptables附加的端口

做你想做的人,没有时间的限制,只要愿意,什么时候都可以start。 1万+

干货 | Docker容器:如何根据监听端口号查找到对应容器?

点击上方“中兴开发者社区”,关注我们每天读一篇一线开发者原创好文问题引入:在一个已启动了N多个容器Linux操作系统的宿主机上,新启动一个映射到宿主机端口号为portM的...

中兴开发者社区 9925

docker 暴露端口 查看_Docker容器如何暴露端口

docker 中定义了几种方式用于暴露容器中的端口,现将其总结如下.dockerfile 中可以使用EXPOSE指令,仅说明容器需要对外暴露的端口,没有实际的暴露出去EXPOSE [/...]启动容器的时候通过参数指定# 暴露特定端口到主机的特定端口docker run -p 80:80# 暴露容器的所有端口(exposed 端口)到主机的随机端口docker run -P# 添加dockerf...

weixin_33511258的博客 1万+

Docker运维笔记-Docker端口映射

为什么要端口映射? 端口映射的指令是什么? 如何查看端口映射是否成功?

恶性佛 8万+

docker 打开监听端口

安装docker的镜像ubuntu,链接:http://www.cnblogs.com/liqiu/p/4162719.html 一、登录ubuntu @~ $ docker run -i -t 9bd07e480c5b /bin/bash root@d411227dd25b:/# 二、安装登录ssh root@d411227dd25b:/# apt-get in...

aijia7039的博客 725

如何解决国标GB28181视频平台EasyGBS运行中端口不够用的情况?

大家知道EasyGBS视频平台有两种视频传输模式,包括TCP、UDP,可以自由进行切换选择。EasyGBS运行过程中,选择TCP需要开 30000-40000端口,选择UDP需要开50000-60000的端口,有可能出现端口不够用的情况,导致程序报错。 如何解决这个问题?首先我们要明白EasyGBS的端口逻辑。目前端口使用的逻辑如下:摄像头注册上来,平台向摄像头发送推流请求,然后平台将接收流数据的端口返回给摄像头,让摄像头向这个端口发送数据。 所以经过分析,需要进行端口复用,也就是分配一个较小的端口

EasyGBS的博客 801

dockerclient 查看端口占用_docker 端口被占用问题解决

启动容器A, A的端口映射是 80:8080外部的25000端口映射到服务内部的8080端口;有时候将容器关闭,重新构建镜像及启动容器时会出现一些报错,比如端口被占用的报错,但通过docker ps -a |grep 容器名, 会发现容器其实已经关闭,但仍然无法启动新的容器这里通过iptables 关闭docker映射到host上的端口主机与docker中的端口转发是通过主机的iptables实现...

weixin_40000457的博客 1263

启动docker容器一致提示端口被占用,即使是已经删除相关端口的进程

1、重启docker服务 systemctl restart docker 2、启动对应的docker容器 docker start tomcat 3、如果提示端口已被占用,则查看占用进程并杀死 netstat -ntulp | grep 8080 4、杀死对应的进程 kill -9 进程的pid 5、启动容器 docker start tomcat ...

JFENG14的博客 7805

03、聚焦 Docker:容器管理命令详解与实战技巧

有些容器会死掉,我们也想查看,就需要:这样就列出了所有的容器,我们可以根据STATUS容器的状态,来判断哪些容器死掉,哪些还在运行。STATUS容器的状态我们还可以使用openvpn-server是容器的名字。

迷逝 2917

查看容器暴露的端口

docker ps 查看运行中的容器 docker port c5b 查看容器c5b的端口状态 27017是容器端口; 0.0.0.0:37017是27017映射到宿主机上的端口。

kevinsingapore的博客 4万+
上一篇: 镜像仓库臃肿怎么办,如何高效批量删除Docker镜像标签?
下一篇: 为什么90%的开发者忽略的日志配置细节,竟决定系统稳定性?
deeplens
博客等级 码龄21年 176粉丝 2158原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值