Docker bash文件将不会加载

Docker bash文件将不会加载,bash,reference,docker-compose,containers,Bash,Reference,Docker Compose,Containers,我是docker的新手,我尝试构建一个php fpm容器,其中也应该包含sendmail 具有以下配置 # php-fpm FROM php:7.2-fpm RUN apt-get update && apt-get install -y sendmail sendmail-bin mailutils openssl git libcurl4-gnutls-dev libpng-dev libfreetype6-dev libjpeg62-turbo-dev zlib1g-de

我是docker的新手,我尝试构建一个php fpm容器,其中也应该包含sendmail

具有以下配置

# php-fpm
FROM php:7.2-fpm

RUN apt-get update && apt-get install -y sendmail sendmail-bin mailutils openssl git libcurl4-gnutls-dev libpng-dev libfreetype6-dev libjpeg62-turbo-dev zlib1g-dev libicu-dev g++ libxml2-dev libpq-dev \
 # && git clone -b php7.2 https://github.com/phpredis/phpredis.git /usr/src/php/ext/redis \
 && docker-php-ext-install pdo pdo_mysql pdo_pgsql pgsql intl curl json opcache xml zip mysqli mbstring \
 && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
 && docker-php-ext-install -j$(nproc) gd \
 && apt-get autoremove && apt-get autoclean \
 && rm -rf /var/lib/apt/lists/* \

RUN yes | pecl install xdebug \

# configure sendmail
COPY ./*.sh /usr/local/bin/
COPY ./php_mail.ini /usr/local/etc/php/conf.d/mail.ini
RUN chmod a+x /usr/local/bin/*.sh
ENTRYPOINT ["start_sendmail_mta.sh"]

RUN update-ca-certificates

ENV PHP_DATE_TIMEZONE="Europe/Berlin" \
    PHP_LOG_ERRORS_MAX_LEN=1024 \
    PHP_LOG_ERRORS="" \
    PHP_MAX_EXECUTION_TIME=0 \
    PHP_MAX_FILE_UPLOADS=20 \
    PHP_MAX_INPUT_VARS=1000 \
    PHP_MEMORY_LIMIT=128M \
    PHP_POST_MAX_SIZE=8M \
    #PHP_SENDMAIL_PATH="/usr/sbin/sendmail -t -i" \
    PHP_SESSION_SAVE_HANDLER=files \
    PHP_SESSION_SAVE_PATH="" \
    PHP_UPLOAD_MAX_FILESIZE=2M \
    PHP_XDEBUG_DEFAULT_ENABLE=0 \
    PHP_XDEBUG_IDEKEY=''\
    PHP_XDEBUG_PROFILER_ENABLE=0 \
    PHP_XDEBUG_REMOTE_AUTOSTART=0 \
    PHP_XDEBUG_REMOTE_CONNECT_BACK=0 \
    PHP_XDEBUG_REMOTE_ENABLE=0 \
    PHP_XDEBUG_REMOTE_HOST=0

RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
    && php composer-setup.php --install-dir=/usr/local/bin --filename=composer \
    && php -r "unlink('composer-setup.php');"

CMD ["php-fpm"]

EXPOSE 9000
当我运行
docker compose build
时,我得到以下错误

 Service 'php-fpm' failed to build: The command '/bin/sh -c chmod a+x /usr/local/bin/*.sh' returned a non-zero code: 1

[![在此处输入图像描述][2][2]

为什么在这种情况下找不到bash文件

chmod: cannot access '/usr/local/bin/*.sh': No such file or directory
ERROR: Service 'php-fpm' failed to build: The command '/bin/sh -c chmod a+x /usr/local/bin/*.sh' returned a non-zero code: 1

如果我运行
运行ls-l/usr/local/bin
我看不到任何bash文件

只需将copy./*.sh更改为:

COPY sendmail.sh /usr/local/bin/
COPY ./php_mail.ini /usr/local/etc/php/conf.d/mail.ini
COPY start_sendmail_mta.sh /usr/local/bin
RUN chmod a+x /usr/local/bin/*.sh

请向我们显示生成运行导致shell命令失败的输出。还可以考虑使用<代码> Ls或<代码>查找< /COD> > <代码>拷贝<代码>之后,在<代码>运行< /COD>命令之前。“RUN yes | pecl install xdebug”结尾有一个错误的反斜杠,但这不重要,因为下一行是空的?!谢谢你的反馈。我添加了一个带有错误信息的屏幕截图,请不要将图像粘贴到文本显示良好的位置。请复制并粘贴错误消息,并将输出作为文本记录到问题中。谢谢。你的docker构建上下文在哪里?如果您像运行docker build.那样运行docker,应该可以在当前目录中找到
*.sh
文件。我使用docker compose,并从那里引用每个容器
构建上下文:./docker/php fpm