Docker 容器中的 phpunit 设置

问题描述 投票:0回答:1

我有以下用于 PHP Docker 应用程序的 docker-compose.yml 文件。我尝试在这个 docker 容器中设置 PHPUnit。但它显示以下错误

Error response from daemon: failed to create task for container: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "./vendor/bin/phpunit": stat ./vendor/bin/phpunit: no such file or directory: unknown

docker-compose.yml 文件

version: "3.3"

services:
  composer:
    image: composer:2
    environment:
      - COMPOSER_CACHE_DIR=/app/var/cache/composer
    volumes:
      - .:/app
    restart: always
  sql-db:
    build:
      context: ./sql-db
    environment:
      MYSQL_ROOT_PASSWORD: codingchallenge
      MYSQL_DATABASE: codingchallenge
      MYSQL_USER: codingchallenge
      MYSQL_PASSWORD: codingchallenge
    ports:
      - "8322:3306"
    networks:
      - backend-php
  php-fpm:
    depends_on:
      - sql-db
      - nginx_backend
    build: ./php-fpm
    restart: always
    environment:
      MYSQL_DB_HOST: sql-db
      MYSQL_DB_PORT: 3306
      MYSQL_DB_USER: codingchallenge
      MYSQL_DB_PASSWORD: codingchallenge
      MYSQL_DATABASE: codingchallenge
      DATABASE_URL: mysql://codingchallenge:codingchallenge@sql-db:3306/codingchallenge
    networks:
      - backend-php
    volumes:
      - sock:/sock
      - ./app:/var/www
      - ./vendor:/var/www/vendor
    links:
      - sql-db
  nginx_backend:
    build:
      context: ./nginx-backend
    ports:
      - "8321:80"
    volumes:
      - ./app:/var/www:ro
      - sock:/sock
    networks:
      - backend-php
    restart: always
  phpunit:
      image: php:7.3-cli
      restart: always
      volumes:
        - sock:/sock
        - ./app:/var/www
        - ./vendor:/var/www/vendor
      working_dir: /app
      entrypoint: vendor/bin/phpunit
volumes:
  sock:

networks:
  backend-php:

如果有人知道如何在上述容器中设置 PHPUnit。

我在 docker-compose.yml 文件中添加了 PHPUnit 容器。但仍然无法工作并抛出“vendor/bin/phpunit not found”错误。

php docker nginx docker-compose phpunit
1个回答
0
投票

PHPUnit 不是服务,不应如此声明。

您可以向

exec
服务发出
php-fpm
命令来运行它。

问题还在于您的目录名称不匹配。完全删除

vendor
体积。工作目录应该是
/var/www

© www.soinside.com 2019 - 2024. All rights reserved.