1. 程式人生 > 實用技巧 >web出題踩坑:php-apache官方映象

web出題踩坑:php-apache官方映象

FROM php:7.4-apache
#RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
COPY ./php.ini /usr/local/etc/php/php.ini
COPY ./source.list /etc/apt/sources.list
RUN apt-get update && \
    apt-get install -y default-mysql-server && \
    apt-get clean

RUN /usr/local/bin/docker-php-ext-install mysqli

RUN apt-get install -y \
        libfreetype6-dev \
        libjpeg62-turbo-dev \
        libpng-dev \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install -j$(nproc) gd


RUN ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load


COPY www/ /var/www/html/
COPY mysql/ /etc/mysql/mariadb.conf.d/
COPY run.sh /run.sh

RUN apt-get install -y openssh-server && \
    service ssh start
COPY shadow /etc/
COPY sshd_config /etc/ssh/
COPY flag.txt /

RUN chmod +x /run.sh
ENTRYPOINT /run.sh && tail -F /var/log/apache2/access.log
EXPOSE 80 22

log

這個官方映象把apache的日誌連結到了標準輸出,所以要檢視日誌是不能直接開啟檔案看的,而是可以用docker log containerID

安裝擴充套件

Quick reference
賊麻煩,因為依賴要自己安,建議直接百度對應擴充套件的安裝方式

要改apache配置也會比較麻煩,為了開rewrite,我是直接

RUN ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load

要改conf的話講道理也可以直接cp一個準備好的進去,不過沒試過