Dockerfile для php 7.4+ и Apache2

Помогите переделать Dockerfile(изначально в нем был указан php5). Мне нужно чтоб контейнер был с php 7.4. Когда меняю версию появляются ошибки

E: Unable to locate package libapache2-mod-php7.4
E: Couldn't find any package by regex 'libapache2-mod-php7.4'
E: Unable to locate package php-mysql
E: Unable to locate package php-mcrypt
E: Unable to locate package php-gd
E: Unable to locate package php-curl
FROM ubuntu:trusty

# Install base packages
RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt-get -yq install \
        curl \
        apache2 \
        libapache2-mod-php7.4 \
        php-mysql \
        php-mcrypt \
        php-gd \
        php-curl \
        php-pear \
        php-apc ssmtp && \
    rm -rf /var/lib/apt/lists/* && \
    curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

RUN /usr/sbin/php5enmod mcrypt

# RUN apt-get install -y ssmtp
RUN sed -i 's,^\(mailhub=\).*,\1'172.17.42.1',' /etc/ssmtp/ssmtp.conf
RUN echo "FromLineOverride=YES" >> /etc/ssmtp/ssmtp.conf


# RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf && \ sed -i "s/variables_order.*/variables_order = \"EGPCS\"/g" /etc/php5/apache2/php.ini

ENV ALLOW_OVERRIDE **False**

# Add image configuration and scripts
ADD run.sh /run.sh
RUN chmod 755 /*.sh

RUN mkdir -p /app && rm -fr /var/www/html && ln -s /app /var/www/html
# ADD site/ /app

COPY config/httpd.conf /etc/apache2/conf-available/custom.conf
RUN a2enconf custom

ADD config/deflate.conf /etc/apache2/mods-available/deflate.conf

ADD config/virtualhost.conf /etc/apache2/sites-available/000-default.conf

ADD config/php.ini /etc/php5/apache2/php.ini

EXPOSE 80
WORKDIR /app
CMD ["/run.sh"]

Ответы (1 шт):

Автор решения: Игорь Петров

изменил Dockerfile, но почему то ставится 16.04 ubuntu и 7.03 php Как исправить?

FROM ubuntu:20.04
# Install base packages
RUN apt-get update && \
    apt-get install -y software-properties-common && \
    rm -rf /var/lib/apt/lists/*
RUN apt-add-repository -y ppa:ubuntugis/ppa
RUN apt-add-repository -y ppa:georepublic/pgrouting
RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt-get -yq install \
        curl \
        apache2 \
        libapache2-mod-php \
        php7.4-mysql \
        php7.4-mcrypt \
        php7.4-gd \
        php7.4-curl \
        php7.4-pear \
        php7.4-dev \
        php7.4-json \
        libpcre3-dev \
        php7.4-apcu ssmtp && \
    rm -rf /var/lib/apt/lists/* && \
    curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

RUN /usr/sbin/phpenmod mcrypt

# RUN apt-get install -y ssmtp
RUN sed -i 's,^\(mailhub=\).*,\1'172.17.0.1',' /etc/ssmtp/ssmtp.conf
RUN echo "FromLineOverride=YES" >> /etc/ssmtp/ssmtp.conf


# RUN echo "ServerName localhost" >> /etc/apache2/apache2.conf && \ sed -i "s/variables_order.*/variables_order = \"EGPCS\"/g" /etc/php5/apache2/php.ini

ENV ALLOW_OVERRIDE **False**

# Add image configuration and scripts
ADD run.sh /run.sh
RUN chmod 755 /*.sh

RUN mkdir -p /app && rm -fr /var/www/html && ln -s /app /var/www/html
# ADD site/ /app

COPY config/httpd.conf /etc/apache2/conf-available/custom.conf
RUN a2enconf custom

ADD config/deflate.conf /etc/apache2/mods-available/deflate.conf

ADD config/virtualhost.conf /etc/apache2/sites-available/000-default.conf

ADD config/php.ini /etc/php/apache2/php.ini

EXPOSE 80
WORKDIR /app
CMD ["/run.sh"]
→ Ссылка