首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker执行Symfony命令:拒绝许可

Docker执行Symfony命令:拒绝许可
EN

Stack Overflow用户
提问于 2019-04-25 14:19:28
回答 2查看 6.5K关注 0票数 6

我目前正在使用docker设置一个symfony项目,需要通过bin/console运行一些命令,如下所示:

代码语言:javascript
复制
php bin/console doctrine:database:create --if-not-exists

php bin/console doctrine:migrations:migrate

目前,我正试图用docker-compose exec来做这件事

代码语言:javascript
复制
 docker-compose exec app bin/console doctrine:database:create --if-not-exists 

因此,我得到了以下错误:

OCI运行时执行失败: exec失败: container_linux.go:345:启动容器进程导致" exec:\“bin/控制台\:权限被拒绝”:未知

我尝试在我的Dockerfile中使用chmod wihin,但这没有奏效:

Dockerfile-php

代码语言:javascript
复制
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

代码语言:javascript
复制
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 
...

有什么想法吗,我怎么能做到?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-25 15:43:24

正如您在/php/上看到的那样,您正在使用的坞映像(php:fpm)不包含CLI版本,因此您应该使用另一个映像。

由于Docker允许您这样做,您可以使用一个完全不同的容器来运行CLI版本的端到端的--运行with服务器的容器,并将公共目录安装到这两个容器中。这有助于您更好地分离不同的部分。

票数 2
EN

Stack Overflow用户

发布于 2020-01-25 13:11:45

我也遇到了同样的问题,但是在我的终端中运行这个命令解决了这个问题:

代码语言:javascript
复制
chmod +x bin/console

文件上的chmod +x意味着,您将使其可执行。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55851515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档