底包选择
这里我使用nginx的alpine版本作为底包,制作nginx+php7.4的项目镜像
FROM nginx:stable-alpine
修改镜像源
RUN echo "https://mirrors.aliyun.com/alpine/v3.15/main" > /etc/apk/repositories && \
echo "https://mirrors.aliyun.com/alpine/v3.15/community" >> /etc/apk/repositories && \
apk update
修改时区
ENV TZ Asia/Shanghai
RUN apk add alpine-conf && \
/sbin/setup-timezone -z Asia/Shanghai && \
apk del alpine-conf
安装php7.4
RUN apk add supervisor \
php7-fpm \
php7-curl \
php7-pdo \
php7-pdo_mysql \
php7-iconv \
php7-fileinfo \
php7-mbstring \
php7-mysqli \
php7-gd \
php7-opcache \
php7-xmlrpc \
php7-openssl \
php7-gettext \
php7-zip \
php7-pecl-memcache \
php7-pecl-redis \
php7-phar \
php7-json \
php7-ctype
安装composer
RUN php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');" && \
php composer-setup.php && \
php -r "unlink('composer-setup.php');" && \
mv composer.phar /usr/local/bin/composer && \
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
配置nginx+php
RUN sed -i 's/user.*nginx/user www-data www-data/' /etc/nginx/nginx.conf && \
sed -i '/application\/octet-stream;/a\client_max_body_size 800m;' /etc/nginx/nginx.conf && \
sed -i 's/^;date.timezone.*=/date.timezone = "Asia\/Shanghai"/' /etc/php7/php.ini && \
sed -i 's/^variables_order/;variables_order/' /etc/php7/php.ini && \
sed -i 's/^upload_max_filesize.*M/upload_max_filesize = 800M/' /etc/php7/php.ini && \
sed -i 's/^post_max_size.*M/post_max_size = 800M/' /etc/php7/php.ini && \
sed -i 's/^memory_limit.*M/memory_limit = 512M/' /etc/php7/php.ini && \
sed -i 's/^;daemonize.*yes/daemonize = no/' /etc/php7/php-fpm.conf && \
sed -i 's/^user.*nobody/user = www-data/' /etc/php7/php-fpm.d/www.conf && \
sed -i 's/^group.*nobody/group = www-data/' /etc/php7/php-fpm.d/www.conf && \
sed -i 's/^;listen.owner.*nobody/listen.owner = www-data/' /etc/php7/php-fpm.d/www.conf && \
sed -i 's/^;listen.group.*nobody/listen.group = www-data/' /etc/php7/php-fpm.d/www.conf && \
sed -i 's/^;clear_env/clear_env/' /etc/php7/php-fpm.d/www.conf
启动项目
RUN chmod +x /usr/local/bin/start-container
EXPOSE 80
ENTRYPOINT ["start-container"]
6618

被折叠的 条评论
为什么被折叠?



