You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

apt升级后运行docker-compose致GCP VM的SSH连接断开问题排查

故障现象

在GCP虚拟机上部署运行多个Docker容器时,执行docker-compose命令会直接导致SSH连接断开。该故障在当日早间从未出现,故障发生前系统仅执行过sudo apt update && sudo apt upgrade更新操作。

可稳定复现问题的docker-compose配置
version: '3'
services:
  mongo:
    container_name: mongo
    image: mongo
    expose:
      - "27017"
    ports:
      - "27017:27017"
当前运行环境信息
  • 操作系统:Ubuntu,内核版本为5.13.0-1030-gcp #36~20.04.1-Ubuntu SMP Fri Jun 3 15:33:42 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
  • docker-compose版本:1.25.0
  • Docker版本:20.10.17, build 100c701
  • Docker与docker-compose构建均启用BuildKit特性
排查与解决建议
  • 优先排查内核升级触发的netfilter模块异常
    apt升级过程中会同步更新GCP定制内核,Docker端口映射能力依赖netfilter/iptables相关内核模块,5.13.0-1030-gcp版本内核存在已知的netfilter处理NAT规则时触发内核panic的问题,一旦触发会直接导致虚拟机网络栈崩溃,SSH连接断开。排查时不要依赖SSH连接,直接通过GCP控制台的串口登录功能进入系统:
    1. 执行dmesg -T查看断连时间点的内核日志,确认是否存在nf_conntrack、iptable_nat相关的调用堆栈报错
    2. 如果确认是该问题,临时方案是重启实例在GRUB启动菜单选择升级前的旧内核启动,也可以执行sysctl -w net.netfilter.nf_conntrack_tcp_loose=0临时规避,等待官方推送内核补丁后再完成更新
  • 验证BuildKit兼容问题
    当前环境默认开启BuildKit特性,1.25.0版本的docker-compose属于较早版本,和新版Docker的BuildKit链路存在已知兼容问题,可能触发Docker守护进程异常连带断网。复现操作前先执行export DOCKER_BUILDKIT=0 COMPOSE_DOCKER_CLI_BUILD=0关闭BuildKit,再运行docker-compose命令观察是否还会出现断连问题。
  • 排查Docker服务与网络规则异常
    1. 在串口控制台执行journalctl -u docker.service -f实时打印Docker服务日志,触发复现操作时观察日志中是否存在服务崩溃退出、iptables规则写入失败、网桥创建异常的报错
    2. 如果确认是Docker包升级导致的问题,可以将Docker版本回退到升级前的已验证版本再测试
  • 排查GCP访客代理异常
    apt升级会同步更新google-guest-agent组件,部分版本的访客代理在检测到Docker创建的网桥、iptables规则时,会错误触发网卡重置、路由表清理操作,直接导致网络中断。可以执行journalctl -u google-guest-agent查看断连时间点的日志,确认是否存在网卡重置、路由删除的相关记录,如果有可以临时将访客代理版本回退。

内容的提问来源于stack exchange,提问作者Connor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.02 08:51:29