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

docker compose启动提示「未找到项目容器」问题求助

问题

使用旧版docker-compose命令时,服务会尝试启动(但构建环节存在问题),为何使用新版docker compose命令却无法正常执行?

当前目录结构

ls -la ./docker/local/
total 20
drwxrwxr-x 4 jorgee jorgee 4096 abr 11 19:37 .
drwxrwxr-x 3 jorgee jorgee 4096 abr 11 16:54 ..
drwxrwxr-x 3 jorgee jorgee 4096 abr 11 16:59 base_wordpress
drwxrwxr-x 4 jorgee jorgee 4096 abr 11 16:53 configs
-rw-rw-r-- 1 jorgee jorgee  995 abr 11 19:37 docker-compose.yaml

执行的启动命令及报错

docker compose --file ./docker/local/docker-compose.yaml -p nhco-be start
no container found for project "nhco-be": not found

docker-compose.yaml配置内容

version: '3.5'
services:
    mysql:
        image: 'mysql:8.0'
        working_dir: /application
        volumes:
            - '.:/application'
        environment:
            - MYSQL_ROOT_PASSWORD=root
            - MYSQL_DATABASE=nhco
            - MYSQL_USER=nhco
            - MYSQL_PASSWORD=nhco
        ports:
            - '8082:3306'

    webserver:
        image: 'nginx:alpine'
        working_dir: /application
        volumes:
            - '../../wp-content:/application/wp-content'
            - './configs/nginx/nginx.conf:/etc/nginx/conf.d/default.conf'
        ports:
            - '8080:80'

    php-fpm:
        build: configs/php-fpm
        working_dir: /application
        environment:
            - DB_HOST=mysql
            - DB_NAME=nhco
            - DB_USER=nhco
            - DB_PASSWORD=nhco
        volumes:
            - '../../wp-content:/application/wp-content'
            - './configs/php-fpm/php-ini-overrides.ini:/etc/php/8.3/fpm/conf.d/99-overrides.ini'
解答
  • 核心原因是命令用法错误:docker compose start的作用是启动已经存在的容器,而非创建并启动新容器。你之前从未用nhco-be这个项目名创建过容器,因此会提示找不到容器。
  • 旧版docker-compose你应该是使用了docker-compose up命令,这个命令会自动完成构建镜像、创建容器、启动容器的完整流程,哪怕构建环节有问题,也会尝试启动可运行的服务。
  • 要实现和旧版docker-compose up一致的效果,新版命令应改为:
    docker compose --file ./docker/local/docker-compose.yaml -p nhco-be up
    
    该命令会自动处理镜像构建、容器创建与启动流程,和旧命令行为一致。
  • 补充说明:docker-compose是独立的旧工具,docker compose是集成到Docker CLI的新命令,两者容器管理逻辑互通,但start命令的前提都是容器已被创建(比如之前用up创建后执行了stop,此时才能用start重启)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 22:30:24