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

执行docker-compose up报错:services.networks不支持'app'配置项

解决Docker Compose报错:Unsupported config option for services.networks: 'app'

错误原因

你的docker-compose.yml核心问题是**networks配置块的缩进位置错误**:你把networks写在了services节点内部(作为phpmyadmin服务的同级子项),但按照Docker Compose的语法规范,networks是顶级配置项,必须和version、services处于同一层级。

修正后的完整配置

version: '3.4'

services:
  backend:
    build:
      context: ./backend_app
      dockerfile: Dockerfile
    environment:
      DB_HOST: db
      DB_DATABASE: news_app
      DB_USERNAME: root
      DB_PASSWORD: harr
    ports:
      - 8000:8000
    volumes:
      - ./backend_app:/app/backend_app
    depends_on:
      - db
    networks:
      - app
      - db
  frontend:
    build:
      context: ./frontend_app
      dockerfile: Dockerfile
    tty: true
    ports:
      - 3000:3000
    volumes:
      - ./frontend_app:/app/frontend_app
    depends_on:
      - backend
    networks:
      - app

  db:
    image: mysql:latest
    environment:
      MYSQL_ROOT_PASSWORD: harr
      MYSQL_DATABASE: news_db
    ports:
      - 3305:3306  # 注意:MySQL默认容器内端口是3306,映射需对应才能正常访问
    networks:
      - db
  
  phpmyadmin:
    image: phpmyadmin:latest
    ports:
      - 1009:80
    environment:
      - PMA_ARBITRARY=1
    networks:
      - db  # 加入db网络才能访问MySQL服务

# 将networks移至顶级位置,与services同级
networks:
  app:
    driver: bridge
  db:
    driver: bridge  # 可显式指定驱动,省略则默认使用bridge

额外提示

  1. MySQL容器默认端口为3306,原配置中的3305:3305会导致外部无法正常连接数据库,建议修正为3305:3306
  2. phpmyadmin需要加入db网络才能访问MySQL服务,否则可能出现数据库连接失败的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 18:53:10