Php docker composer安装RunTimeException/var/www/html/vendor不存在,无法创建

Php docker composer安装RunTimeException/var/www/html/vendor不存在,无法创建,php,docker-compose,Php,Docker Compose,我有一个拉威尔项目。这是我的docker compose.yml文件 nginx: build: ./nginx/ ports: - 90002:80 links: - php volumes_from: - app php: build: ./php/ expose: - 9000 links: - mysql volumes_from:

我有一个拉威尔项目。这是我的
docker compose.yml
文件

nginx:
    build: ./nginx/
    ports:
        - 90002:80
    links:
        - php
    volumes_from:
        - app

php:
    build: ./php/
    expose:
        - 9000
    links:
        - mysql
    volumes_from:
        - app

composer:
    image: composer/composer
    volumes_from:
        - php
    working_dir: /var/www/html

app:
    image: php:7.0-fpm
    volumes:
        - ./test-api:/var/www/html
    command: "true"

mysql:
    image: mysql:latest
    volumes_from:
        - data
    environment:
        MYSQL_ROOT_PASSWORD: test
        MYSQL_DATABASE: user
        MYSQL_USER: uesr
        MYSQL_PASSWORD: test

data:
    image: mysql:latest
    volumes:
        - /var/lib/mysql
    command: "true"

phpmyadmin:
    image: phpmyadmin/phpmyadmin
    ports:
        - 90003:80
    links:
        - mysql
    environment:
        PMA_HOST: mysql
我运行这个命令

$ docker-compose build --no-cache
$ docker-compose up -d
$ docker-compose run --rm composer install # error
我收到了错误信息

[RuntimeException]
/var/www/html/vendor does not exist and could not be created.

我试了一下我的Mac电脑,没问题。但是ssh到我的服务,使用相同的方法,它不工作。谢谢您的帮助。

如果您在Windows上测试它,同步文件可能会出现问题

如果是这种情况,您可以尝试排除供应商目录,请参阅:


类似问题:

由于它在Windows上不起作用,但在macOS上起作用,请尝试:

  • 仔细检查主机上
    /var/www/html
    供应商
    文件夹的权限,因为您可能要从不支持Linux权限的NTFS文件系统共享此文件夹
  • 检查文件或文件夹是否被某个正在运行的进程(例如shell或IDE编辑器)锁定

    例如,使用,从“查找”菜单中选择“查找句柄”或“DLL”,然后键入文件夹名称

    我有类似的问题,我已经描述过了