【问题标题】:Docker execution of Symfony commands: Permission deniedSymfony 命令的 Docker 执行:权限被拒绝
【发布时间】:2019-04-25 14:19:28
【问题描述】:

我目前正在使用 docker 建立一个 symfony 项目,需要通过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 运行时执行失败:执行失败:container_linux.go:345:启动容器进程导致“exec:\”bin/console\“:权限被拒绝”:未知

我尝试在我的 Dockerfile 中使用 chmod,但这不起作用:

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 
...

任何想法,我该怎么做?

【问题讨论】:

  • 您是否尝试过在交互模式下使用 bash 运行命令?
  • @NicoHaase 有点,这里我知道错误:bash: php: command not found 这有点令人困惑
  • 试试docker exec -i container-id bin/console doctrine:database:create --if-not-exists
  • @A.Marwan "exec: \"bin/console\": stat bin/console: no such file or directory": unknown 奇怪
  • 试试这个然后docker exec -it container-id bin/bash 并在容器内做你喜欢的事

标签: symfony docker


【解决方案1】:

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

chmod +x bin/console

对文件使用 chmod +x 表示您将使其可执行。

【讨论】:

    【解决方案2】:

    正如您在 https://hub.docker.com/_/php/ 上看到的,您使用的 docker 镜像 (php:fpm) 不包含 CLI 版本,因此您应该使用另一个镜像。

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

    【讨论】:

      猜你喜欢
      • 2011-11-09
      • 2018-07-03
      • 2021-11-02
      • 1970-01-01
      • 2015-02-06
      • 2020-05-11
      • 2023-01-26
      • 2016-04-15
      • 1970-01-01
      相关资源
      最近更新 更多