php-fpm docker 中的作曲家来自 composer:1.8.4
Composer in php-fpm docker from composer:1.8.4
我有一个构建 php-fpm 映像的 .docker 文件,我尝试从 docker 映像安装 Composer,如下所示:
FROM php:7.3.3-fpm-alpine as base
WORKDIR /var/www
# Override Docker configuration: listen on Unix socket instead of TCP
RUN sed -i "s|listen = 9000|listen = /var/run/php/fpm.sock\nlisten.mode = 0666|" /usr/local/etc/php-fpm.d/zz-docker.conf
# Install dependencies
RUN set -xe \
&& apk add --no-cache bash icu-dev \
&& docker-php-ext-install pdo pdo_mysql intl pcntl
CMD ["php-fpm"]
FROM composer:1.8.4 as composer
RUN rm -rf /var/www && mkdir /var/www
WORKDIR /var/www
COPY composer.* /var/www/
ARG APP_ENV=dev
RUN set -xe \
&& if [ "$APP_ENV" = "prod" ]; then export ARGS="--no-dev"; fi \
&& composer install --prefer-dist --no-scripts --no-progress --no-suggesthere
问题是 COPY composer.* /var/www/ 似乎无法正常工作,因为它会抛出错误:
- composer install --prefer-dist --no-scripts --no-progress --no-suggest --no-interaction --no-dev
Composer 在 /var/www
中找不到 composer.json 文件
似乎作曲家图像缺少某些东西或者我跳过了一些步骤,请你帮忙,我都是 docker 和 php 的新手。
中的问题
WORKDIR /var/www
The WORKDIR command is used to define the working directory of a Docker container at any given time. The command is specified in the Dockerfile.
Any RUN, CMD, ADD, COPY, or ENTRYPOINT command will be executed in the
specified working directory.
来源:https://www.educative.io/edpresso/what-is-the-workdir-command-in-docker
我有一个构建 php-fpm 映像的 .docker 文件,我尝试从 docker 映像安装 Composer,如下所示:
FROM php:7.3.3-fpm-alpine as base
WORKDIR /var/www
# Override Docker configuration: listen on Unix socket instead of TCP
RUN sed -i "s|listen = 9000|listen = /var/run/php/fpm.sock\nlisten.mode = 0666|" /usr/local/etc/php-fpm.d/zz-docker.conf
# Install dependencies
RUN set -xe \
&& apk add --no-cache bash icu-dev \
&& docker-php-ext-install pdo pdo_mysql intl pcntl
CMD ["php-fpm"]
FROM composer:1.8.4 as composer
RUN rm -rf /var/www && mkdir /var/www
WORKDIR /var/www
COPY composer.* /var/www/
ARG APP_ENV=dev
RUN set -xe \
&& if [ "$APP_ENV" = "prod" ]; then export ARGS="--no-dev"; fi \
&& composer install --prefer-dist --no-scripts --no-progress --no-suggesthere
问题是 COPY composer.* /var/www/ 似乎无法正常工作,因为它会抛出错误:
- composer install --prefer-dist --no-scripts --no-progress --no-suggest --no-interaction --no-dev Composer 在 /var/www 中找不到 composer.json 文件
似乎作曲家图像缺少某些东西或者我跳过了一些步骤,请你帮忙,我都是 docker 和 php 的新手。
WORKDIR /var/www
The WORKDIR command is used to define the working directory of a Docker container at any given time. The command is specified in the Dockerfile.
Any RUN, CMD, ADD, COPY, or ENTRYPOINT command will be executed in the specified working directory.
来源:https://www.educative.io/edpresso/what-is-the-workdir-command-in-docker