【问题标题】:Docker and symfonyDocker 和 symfony
【发布时间】:2015-12-03 23:15:25
【问题描述】:

我在 Docker 上苦苦挣扎。

我正在尝试创建一个镜像来处理 symfony 项目并同时学习 Docker。 这是我的 Dockerfile:

FROM php:7-apache

LABEL Description = "This image is used to start Symfony3 project"

ENV DIRPATH /var/www/html

# apt-get command
RUN apt-get update && apt-get install -y \
    vim \
    git \
 && apt-get clean

# Install Composer
RUN curl -sS https://getcomposer.org/installer | php
RUN mv composer.phar /usr/local/bin/composer

# Install the Symfony Installer
RUN curl -LsS http://symfony.com/installer -o /usr/local/bin/symfony
RUN chmod a+x /usr/local/bin/symfony

我用命令构建镜像:

docker build -t symfony .

效果很好!酷!

我正在创建一个容器:

docker run --name symfony -d -v "$PWD":/var/www/html -p 80:80 symfony

效果也很好。 Web 服务器正在正常端口上运行。

我可以进入我的容器:

docker exec -ti symfony bash

但是当我尝试更新作曲家时,我遇到了一些错误:

Failed to download symfony/symfony from dist: Could not decompress the archive, enable the PHP zip extension.
A php.ini file does not exist. You will have to create one.

如何在 Dockerfile 中创建 php.ini?

我也认为我有权限问题。 当我尝试访问 web/app_dev.php 时,我收到以下消息:

You are not allowed to access this file. Check app_dev.php for more information.

【问题讨论】:

  • 我不确定 docker 但通常将 php.ini 放在 web/ 文件夹中以覆盖默认的 php.ini。在您的情况下,您检查过邮编扩展名吗?尝试运行 php -m | grep zip 以检查您是否安装了 zip。
  • 您好,仅供参考:docker 文件中的每一行都是一个新图像。如果你有多个 'run'几乎做同样的命令,你可以简单地做 '&&'并使用 '\'对于换行符,例如。运行 curl -sS getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer

标签: php symfony docker dockerfile


【解决方案1】:

您可以在 dockerfile 中添加自定义 php.ini 配置,指定它, 作为示例,您可以查看 this repo 的示例:

dokerfile

# install a few more PHP extensions
RUN apt-get update && apt-get install -y php5-imagick php5-gd php5-mongo php5-curl php5-mcrypt php5-intl

# copy a custom config file from the directory where this Dockerfile resides to the image
COPY php.ini /etc/php5/fpm/php.ini

您可以在网上找到各种方法和各种示例。

希望有帮助

【讨论】:

    【解决方案2】:

    在缺少的php.ini 文件旁边,您还应该安装 zip 以便您可以从 dist 下载,即

    RUN docker-php-ext-install zip
    

    这将安装并启用错误消息中请求的 PHP zip 扩展。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-12
      • 2016-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-07
      • 2018-09-03
      相关资源
      最近更新 更多