docker 和 composer 安装

标签 docker composer-php docker-compose

我在使用 docker-compose 安装 php-fpm 容器时遇到了问题。

我的文件夹结构如下:

docker-compose.yml
containers/
    nginx
        Dockerfile
    php-fpm
        Dockerfile

docker-compose.yml:
version: '3'

services:
    nginx:
        build:
            context: ./containers/nginx
        ports:
            - 80:80
    php-fpm:
        build:
            context: ./containers/php-fpm
        tty: true

在 php-fpm/Dockerfile 中:
FROM php:7.1.5-fpm-alpine

RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

WORKDIR /srv/www

ENTRYPOINT composer install --prefer-source --no-interaction --no-autoloader

使用当前的 ENTRYPOINT,composer install 似乎卡在“生成自动加载文件”上,因为之后没有任何输出并且容器没有出现在 中。 docker ps 列表。

如何保持上述文件夹结构,但仍然能够在构建或运行后运行 composer install (在这种情况下,我需要添加 if 条件)?

最佳答案

问题是你需要一个 composer.json。

请按照以下步骤操作:

  • 转至 Get composer web -> getting started并创建一个 composer.json 文件。
  • 把这个composer.json目录结构中的文件如下,例如:
  • docker-compose.yml
  • 容器/
  • nginx
  • Dockerfile
  • php-fpm
  • Dockerfile
  • Composer /
  • composer.json
  • 挂载卷(修改您的 docker-compose.yml 文件)以将 composer.json 共享到 /var/www/htmlphp-fpm docker,因为尽管您指定了 /srv/www/作为工作目录, Composer 在 /var/www/html 中查找.

  • 版本:'3'

    服务:
    nginx:
    build :
    上下文:./containers/nginx
    端口:
    - “80:80”
    php-fpm:
    build :
    上下文:./containers/php-fpm
    tty: 真的
    卷:
    - ./composer/composer.json:/var/www/html/composer.json

    我希望它对你有用。

    关于docker 和 composer 安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44469944/

    相关文章:

    c# - Visual Studio + Docker - 使用“编辑并继续”调试应用程序?

    docker - 为什么redis不能访问docker-compose中的磁盘?

    php - 通过 composer 安装 Yii2 失败

    amazon-web-services - AWS 批处理、AWS ECR : Docker run gives an error x509: certificate signed by unknown authority

    laravel - Composer 更新挂起,但 Composer 安装正在运行

    php - 在与当前目录不同的目录中运行 Composer

    docker - 使用 docker-compose 从私有(private) GitHub 存储库构建 Docker 镜像

    docker - 如何配置容器化的 Keycloak-gatekeeper 来充当反向代理?

    docker - 从 Spring Boot 应用程序连接到本地 Bitnami Docker Kafka 时出错

    docker-compose up 不构建