ARG BASE_IMAGE=ulthon/ulthon_admin-base:latest FROM ${BASE_IMAGE} # 设置工作目录 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 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"]