Files
ulthon_admin/Dockerfile
augushong 1f6096ecfb build: 清理apt源并配置Composer镜像加速依赖安装
清理现有apt源文件避免冲突,统一使用USTC镜像源
添加Composer镜像配置使用阿里云源,提前安装依赖优化构建过程
2026-03-27 20:32:07 +08:00

74 lines
2.4 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

FROM php:8.2-fpm-bookworm
RUN rm -rf /etc/apt/sources.list.d/* \
&& echo "deb http://mirrors.ustc.edu.cn/debian/ bookworm main contrib non-free non-free-firmware" > /etc/apt/sources.list \
&& echo "deb http://mirrors.ustc.edu.cn/debian/ bookworm-updates main contrib non-free non-free-firmware" >> /etc/apt/sources.list \
&& echo "deb http://mirrors.ustc.edu.cn/debian-security bookworm-security main contrib non-free non-free-firmware" >> /etc/apt/sources.list
RUN apt-get update
# 安装nginx
RUN apt-get install -y nginx
ADD --chmod=0755 https://nexus.hl7.top:1243/repository/github-raw-proxy/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN install-php-extensions pdo_mysql
RUN install-php-extensions gd
RUN install-php-extensions fileinfo
RUN install-php-extensions opcache
RUN install-php-extensions redis
RUN install-php-extensions event
RUN install-php-extensions imagick
RUN install-php-extensions zip
RUN install-php-extensions pcntl
# 清理默认 Nginx 配置
RUN rm /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
# 安装其他需要的依赖
# RUN apt-get install -y ffmpeg
# RUN apt-get install -y libreoffice
# RUN apt-get install -y redis-server
# RUN apt-get install -y git
# 设置工作目录
WORKDIR /var/www/html
# 安装 Composer
COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer
# 复制 composer.json 并安装依赖
COPY composer.json /var/www/html/
# 配置 composer 镜像源并安装依赖
RUN composer config -g repos.packagist composer https://mirrors.aliyun.com/composer/ \
&& composer install --no-dev --no-interaction --no-scripts --no-autoloader
# 将当前目录下的文件拷贝到工作目录
COPY . /var/www/html
# 生成自动加载文件
RUN composer dump-autoload --optimize --no-dev --classmap-authoritative
# 内部安装compsoer并安装依赖如果不需要可以注释掉
# RUN install-php-extensions @composer
VOLUME /var/www/html/runtime
VOLUME /var/www/html/public/storage
VOLUME /var/www/html/public/build
VOLUME /var/www/html/storage
# 挂载主目录,也可以选择直接挂载主目录,可以把上面的几个指定的目录删掉
# VOLUME ["/var/www/html"]
# 暴露 Nginx 端口
EXPOSE 80
RUN chmod +x /var/www/html/docker/run.sh
# 启动 Nginx PHP 然后阻塞
ENTRYPOINT ["/var/www/html/docker/run.sh"]
CMD ["server"]