Dockerfile 828 B

1234567891011121314151617181920212223242526272829303132
  1. # 使用官方的PHP 7.4镜像作为基础镜像
  2. FROM php:7.4-fpm
  3. # 安装所需的软件包和扩展
  4. RUN apt-get update && apt-get install -y \
  5. nginx \
  6. openssl \
  7. libssl-dev \
  8. libzip-dev \
  9. unzip \
  10. && docker-php-ext-install pdo_mysql zip
  11. # 安装Redis扩展
  12. RUN pecl install redis && docker-php-ext-enable redis
  13. # 安装MongoDB扩展
  14. RUN pecl install mongodb && docker-php-ext-enable mongodb
  15. # 配置Nginx
  16. COPY nginx.conf /etc/nginx/sites-available/default
  17. # 生成SSL证书
  18. RUN openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  19. -keyout /etc/ssl/private/nginx-selfsigned.key \
  20. -out /etc/ssl/certs/nginx-selfsigned.crt \
  21. -subj "/C=US/ST=State/L=City/O=Organization/CN=localhost"
  22. # 启动Nginx和PHP-FPM
  23. CMD service nginx start && php-fpm
  24. # 暴露Nginx的80和443端口
  25. EXPOSE 80 443