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"]