mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-01 15:32:48 +08:00
All checks were successful
build-and-deploy / 直传代码并部署到 Host15 (push) Successful in 50s
确保run.sh脚本在bash环境下执行,避免因缺少shebang或执行权限导致的潜在启动问题。统一所有Dockerfile中的ENTRYPOINT格式。
82 lines
2.9 KiB
Docker
82 lines
2.9 KiB
Docker
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 sed -i 's|aomedia.googlesource.com|nexus.hl7.top:1243/repository/raw-aomedia.googlesource.com|g' /usr/local/bin/install-php-extensions
|
||
RUN sed -i 's|chromium.googlesource.com|nexus.hl7.top:1243/repository/raw-chromium.googlesource.com|g' /usr/local/bin/install-php-extensions
|
||
RUN sed -i 's|https://github.com|https://nexus.hl7.top:1243/repository/github-raw-proxy|g' /usr/local/bin/install-php-extensions
|
||
|
||
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
|
||
RUN chmod +x /usr/local/bin/composer
|
||
RUN composer config -g repos.packagist composer https://nexus.hl7.top:1243/repository/composer-proxy/
|
||
|
||
# 设置工作目录
|
||
WORKDIR /var/www/html
|
||
|
||
# 预先拷贝 composer 文件并安装依赖,利用 Docker 缓存
|
||
COPY composer.json composer.lock /var/www/html/
|
||
RUN 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 ["/bin/bash", "/var/www/html/docker/run.sh"]
|
||
|
||
CMD ["server"]
|
||
|