docker Composer install RunTimeException /var/www/html/vendor 不存在且无法创建

lig*_*ter 5 php docker-compose

我有一个 Laravel 项目。这是我的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
Run Code Online (Sandbox Code Playgroud)

我运行这个命令。

$ docker-compose build --no-cache
$ docker-compose up -d
$ docker-compose run --rm composer install # error
Run Code Online (Sandbox Code Playgroud)

我收到错误消息

[RuntimeException]
/var/www/html/vendor does not exist and could not be created.
Run Code Online (Sandbox Code Playgroud)

我在 Mac 上尝试过,可以用。但是ssh到我的服务,用同样的方法,不行。谢谢你的帮助。

ken*_*orb 0

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

如果是这种情况,您可以尝试排除vendordir,请参阅:向 Docker 添加卷,但排除子文件夹

类似问题:当我在 docker 上执行 npm install 时出现问题