запуск теста phpUnit в Docker-контейнере - PullRequest
0 голосов
/ 18 марта 2019

я хочу запустить определенную версию phpUnit WITHIN контейнер докера.Этот контейнер будет использовать определенную версию php.т.е.

php: 5.6-apache

Это приложение lareval.я установил phpunit через composer на hostfiles, а затем использовал команду тома для передачи этого в контейнер.
В моем файле composer.json есть следующая запись:

"require-dev": {"phpunit / phpunit": "^ 5.0"},

Это моя команда запуска docker для запуска теста в моем контейнере testdev:

docker run --rm -it -v ~/Users/mow/Documents/devFolder/testdev:/app testdev_php "php ./vendor/bin/phpunit"

Это возвращает ошибку:

exec: fatal: unable to exec php ./vendor/bin/phpunit: No such file or directory

Мне непонятно, почему он так говорит, потому что каталог поставщика находится в корне каталога моего сайта.

Это мой dockerfile

FROM php:5.6-apache

ENV S6_OVERLAY_VERSION 1.11.0.1

RUN apt-get update && apt-get install -y \
    libldap2-dev \
    git \
    --no-install-recommends \
    && rm -r /var/lib/apt/lists/* \
    && docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu/ \
    && docker-php-ext-install ldap \
    && docker-php-ext-install mysqli pdo pdo_mysql

#install xdebug 
RUN git clone https://github.com/xdebug/xdebug.git \
    && cd xdebug \
    && git checkout tags/XDEBUG_2_5_5 \
    && phpize \
    && ./configure --enable-xdebug \
    && make \
    && make install


RUN a2enmod rewrite

COPY ./docker/rootfs /
COPY . /app

WORKDIR /app

ENTRYPOINT ["/init"]

Я думаю,реальный вопрос заключается в следующем: как правильно запустить тест phpUnit в Docker-контейнере, чтобы он соответствовал версии php в этом контейнере.

1 Ответ

1 голос
/ 31 мая 2019

В Entrypoint вам нужно запустить composer install, чтобы установить необходимые пакеты, которые будут доступны в контейнере Docker

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...