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

如何将Docker网络从一台主机复制迁移到另一台主机

Docker自定义bridge网络跨主机迁移方案

报错的核心原因是local作用域的bridge网络属于主机本地资源,不会随容器文件/镜像同步到目标主机,容器启动时找不到指定名称的网络就会抛出network service_backend not found错误。

不需要复制源主机的Docker内部数据文件,直接在目标主机重建配置完全匹配的网络即可,操作步骤如下:

  • 第一步:提取源网络的有效配置
    从你提供的docker network inspect结果中,剔除网络ID、创建时间、已关联容器列表这类运行时自动生成的字段,只保留用户自定义的核心配置项:

    • 驱动类型:bridge
    • 网络名称:service_backend
    • 子网段:172.18.0.0/16
    • 网关:172.18.0.1
    • 支持手动挂载容器(Attachable):开启
    • 关联标签:com.docker.compose.network=backend、com.docker.compose.project=service
  • 第二步:在目标主机执行命令创建匹配网络
    直接运行以下命令即可生成完全兼容的网络:

    docker network create \
      --driver bridge \
      --subnet 172.18.0.0/16 \
      --gateway 172.18.0.1 \
      --attachable \
      --label com.docker.compose.network=backend \
      --label com.docker.compose.project=service \
      service_backend
    

    注意:不要手动指定网络ID、创建时间参数,这类字段由Docker daemon自动生成,强行指定会触发网络配置冲突报错

  • 第三步:验证配置并启动容器
    在目标主机执行docker network inspect service_backend,确认子网、网关、驱动、标签参数和源主机一致即可正常启动迁移过来的容器。网络ID、创建时间和源主机不一致不影响业务使用。

批量迁移优化

如果有多台自定义网络需要迁移,可以在源主机执行以下命令自动生成所有自定义网络的创建脚本,直接复制到目标主机执行即可批量重建,不用手动逐个核对参数:

docker network ls --filter type=custom -q | xargs docker network inspect -f '{{range .}}docker network create --driver {{.Driver}} {{if .EnableIPv6}}--ipv6{{end}} {{range .IPAM.Config}}--subnet {{.Subnet}} --gateway {{.Gateway}} {{end}} {{if .Attachable}}--attachable{{end}} {{range $k,$v := .Options}}-o {{$k}}={{$v}} {{end}}{{range $k,$v := .Labels}}--label {{$k}}={{$v}} {{end}}{{.Name}}{{println}}{{end}}'

注意事项

  • 禁止直接复制源主机/var/lib/docker/network目录下的文件到目标主机,这种操作会破坏目标主机的Docker网络栈,触发daemon启动异常、网络不通等问题。
  • 如果迁移的容器配置了固定IP地址,必须保证新创建的网络子网段和源主机完全一致,否则容器会报IP地址不在网段内的错误。如果业务中硬编码了容器IP,启动容器时可以追加--ip 对应原IP地址参数指定固定地址。
  • 如果容器之间通过容器名、Docker DNS域名通信,不需要关心容器IP变化,只要网络名称匹配即可正常通信。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 11:18:24