Ошибки после уменьшения слоев изображения docker - PullRequest
0 голосов
/ 06 августа 2020

Я получаю несколько ошибок, когда уменьшаю слой в следующем файле изображения.

configure: error: in /root/xdebug': configure: error: no acceptable C compiler found in $PATH See config.log 'для получения дополнительных сведений

Следование исходному файлу не дает мне никаких ошибок. это только когда я вношу изменения в файл. Я думаю, это как-то связано с разрешениями и тем, как я добавляю шаги.

FROM amazonlinux

ARG DOCKER_TYPE
ENV DOCKER_TYPE=$DOCKER_TYPE
ARG UID

RUN yum update -y
RUN yum install sudo -y
RUN sudo yum install git -y
RUN sudo amazon-linux-extras install php7.2 -y
RUN sudo yum install php-mbstring -y
RUN sudo yum install php-openssl -y
RUN sudo yum install php-pdo_mysql -y
RUN sudo yum install php-simplexml -y
RUN sudo yum install php-soap -y
RUN sudo yum install php-spl -y
RUN sudo yum install php-xsl -y
RUN sudo yum install php-zip -y
RUN sudo yum install php-libxml -y
RUN sudo yum install php-intl -y
RUN sudo yum install php-iconv -y
RUN sudo yum install php-hash -y
RUN sudo yum install php-gd -y
RUN sudo yum install php-dom -y
RUN sudo yum install php-curl -y
RUN sudo yum install php-ctype -y 
RUN sudo yum install php-bcmath -y
RUN sudo yum install php-devel -y
RUN sudo yum groupinstall "Development tools" -y

# Xdebug
RUN cd /root/; git clone https://github.com/xdebug/xdebug.git; cd /root/xdebug/; ./rebuild.sh

Обновленная версия

FROM amazonlinux

ARG DOCKER_TYPE
ENV DOCKER_TYPE=$DOCKER_TYPE
ARG UID

    RUN yum update -y
    RUN yum install sudo -y && sudo yum install -y \
        git \
        amazon-linux-extras install php7.2 \
        php-mbstring \
        php-openssl \
        php-pdo_mysql \
        php-simplexml \
        php-soap \
        php-spl \
        php-xsl \
        php-zip \
        php-libxml \
        php-intl \
        php-iconv \
        php-hash \
        php-gd \
        php-dom \
        php-curl \
        php-ctype \
        php-bcmath \
        php-devel \
        groupinstall "Development tools"
    
# Xdebug
  RUN cd /root/; git clone https://github.com/xdebug/xdebug.git; cd /root/xdebug/; ./rebuild.sh

Ответы [ 2 ]

1 голос
/ 06 августа 2020

Ваш обновленный файл докеров должен выглядеть примерно так:

FROM amazonlinux

ARG DOCKER_TYPE
ENV DOCKER_TYPE=$DOCKER_TYPE
ARG UID

RUN yum update -y                                   && \
    yum install sudo -y                             && \
    sudo yum install git -y                         && \
    sudo amazon-linux-extras install php7.2 -y      && \
    sudo yum install php-mbstring -y                && \
    sudo yum install php-openssl -y                 && \
    sudo yum install php-pdo_mysql -y               && \
    sudo yum install php-simplexml -y               && \
    sudo yum install php-soap -y                    && \
    sudo yum install php-spl -y                     && \
    sudo yum install php-xsl -y                     && \
    sudo yum install php-zip -y                     && \
    sudo yum install php-libxml -y                  && \
    sudo yum install php-intl -y                    && \
    sudo yum install php-iconv -y                   && \
    sudo yum install php-hash -y                    && \
    sudo yum install php-gd -y                      && \
    sudo yum install php-dom -y                     && \
    sudo yum install php-curl -y                    && \
    sudo yum install php-ctype -y                   && \
    sudo yum install php-bcmath -y                  && \
    sudo yum install php-devel -y                   && \
    sudo yum groupinstall "Development tools" -y    && \
    sudo yum clean all

# Xdebug
RUN cd /root/; git clone https://github.com/xdebug/xdebug.git; cd /root/xdebug/; ./rebuild.sh

Чтобы изменить несколько инструкций «RUN», вам нужно запустить их с помощью && между ними. Символ «\» означает, что инструкция продолжается в следующей строке. Я также добавил

yum clean all

в конце этой единственной инструкции RUN, чтобы слои вашего изображения были меньше.

1 голос
/ 06 августа 2020

Вы заменяете строку

RUN sudo amazon-linux-extras install php7.2

аргументом yum install. По-видимому, это что-то другое.

Вероятно, вы можете исправить это, добавив && после git и запустив новый sudo yum install для следующих пакетов. команда запущена, и когда вы просто добавляете дополнительные аргументы в команду, это сильно улучшит читаемость.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...