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

docker-compose启动报错:network mysql8已声明为外部但未找到

解决Docker Compose外部网络找不到的问题

问题根源:docker system prune --all会清理所有未被运行中容器使用的资源,包括你之前创建的mysql8外部网络。而你在docker-compose.yml里声明这个网络是external: true,意味着Docker Compose不会自动创建它,所以启动时会报错找不到。

解决步骤:

  • 先手动创建这个缺失的外部网络:
    docker network create mysql8
    
  • 执行完上面的命令后,再运行docker-compose up,就能正常找到网络并启动容器了。

额外优化方案:
如果你不想每次执行prune后都手动重建网络,可以修改docker-compose.yml,去掉external: true配置,让Docker Compose自动管理这个网络:

networks:
  mysql8:
    # 移除external: true,Compose会在启动时自动创建网络,停止后若未被其他容器使用,prune仍会清理,但下次up会自动重建

如果手动创建网络还是失败(和你之前遇到的docker create network失败情况一样),可以尝试:

  • 重启Docker服务(不同系统命令不同):
    # Linux系统
    sudo systemctl restart docker
    # Windows/macOS直接重启Docker Desktop应用
    
  • 检查当前用户是否有Docker操作权限,必要时用sudo执行命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:20:27