В настоящее время я настраиваю проект Symfony с помощью Docker и мне нужно запустить некоторые команды через bin/console
, например:
php bin/console doctrine:database:create --if-not-exists
php bin/console doctrine:migrations:migrate
В настоящее время я пытаюсь сделать это с помощью docker-compose exec
:
docker-compose exec app bin/console doctrine:database:create --if-not-exists
В результате я получаю эту ошибку:
Ошибка выполнения OCI во время выполнения: ошибка exec: container_linux.go: 345: запуск процесса контейнера вызвал "exec: \" bin / console\ ": разрешение отклонено": неизвестно
Я пытался использовать chmod с моим Dockerfile, но это не сработало:
Dockerfile-php
FROM php:fpm
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
libxml2-dev \
&& docker-php-ext-install \
pdo_mysql
RUN curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer
COPY . /var/www/project
WORKDIR /var/www/project/
RUN usermod -u 1000 www-data
RUN chown -R www-data:www-data var/cache
RUN chown -R www-data:www-data var/log
RUN chmod +x bin/console
docker-compose.yaml
services:
app:
build:
context: .
dockerfile: Dockerfile-php
environment:
- DATABASE_URL=mysql://xxx:xxx@db:3306/project_db # Connection string for the database
volumes:
- ./:/var/www/project/
networks:
- symfony
...
Есть идеи, как мне это сделать?