#容器网络
共 9 篇文章
Docker Compose 报外部网络不存在
Docker Compose 找不到声明为 external 的网络。核对实际网络名和 Docker Engine,按跨项目共享或项目内部使用选择创建网络、修正引用或交给 Compose 管理,并检查容器接入和业务连接。
Docker Compose 配置 GPU 后报 devices was unexpected
GPU 镜像能单独运行,Compose 却拒绝 reservations 下的 devices,可能是实际调用了不支持设备请求的旧程序。核对入口、升级插件,再分别验证配置和 GPU 访问。
Docker Compose 使用 host 网络时,ports 不生效或报不兼容
Compose 同时设置 network_mode: host 和 ports,可能报不兼容或忽略端口映射。根据实际需求选择普通网络或 host 模式,并核对监听端口、访问范围和依赖连接。
Linux Docker 容器无法解析 host.docker.internal
Linux Docker 容器访问 host.docker.internal 提示无法解析。为现有 Compose 服务添加 host-gateway 映射,重建后分别验证容器 hosts、系统解析与宿主机服务连接,并处理监听地址不匹配。
Docker Compose 把卷名写进 depends_on 后报 undefined service
depends_on 必须引用 services 下的服务名。数据库服务叫 database、数据卷叫 db 时,应修正依赖引用,保留原卷与挂载,再用相同部署参数校验配置。
后端容器未启动,Nginx 报 host not found in upstream
Docker 中一个可选后端没有启动,Nginx 因 host not found in upstream 无法加载配置。适用于开源版 Nginx 1.27.3 及以上版本,通过 resolve、zone 和 resolver 配置运行时解析,并核对网络、请求路径和回退条件。
Docker Compose run 启动后 ports 未映射到宿主机
Compose 文件声明了 ports,但 run 默认不为任务容器发布这些端口。通过容器 ID 核对映射,再选择 --service-ports、临时 -p 映射或 up 启动常驻服务。
Docker Compose 覆盖网络配置后报 network_mode 与 networks 互斥
覆盖文件新增 networks 不会自动删除基础文件的 network_mode。通过 !reset 清除继承值,核对实际 Compose 版本、文件顺序及切换网络后的通信变化。
Docker Compose 使用 network_mode: service 时发布端口报冲突
Web 容器使用 network_mode: service:db 后,独立配置 ports 会触发 port publishing 与 container type network mode 冲突。将映射移到网络提供方,并检查监听地址、容器重建与数据库就绪条件。


