Dockerfile 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. # 使用基础镜像
  2. FROM leekay0218/crmeb-mer
  3. ## 复制代码
  4. ## 在本地调试注释掉,使用映射把文件映射进去
  5. #ADD ./ /var/www
  6. # 设置工作目录
  7. WORKDIR /var/www
  8. # 设置时区为上海
  9. ENV TZ=Asia/Shanghai
  10. RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
  11. echo $TZ > /etc/timezone && \
  12. echo '[PHP]\ndate.timezone = "'$TZ'"\n' > /usr/local/etc/php/conf.d/tzone.ini
  13. # 创建 mer_s.conf 配置文件
  14. RUN echo "[program:mer_s]" > /etc/supervisor/conf.d/mer_s.conf && \
  15. echo "command=php think swoole restart" >> /etc/supervisor/conf.d/mer_s.conf && \
  16. echo "directory=/var/www/" >> /etc/supervisor/conf.d/mer_s.conf && \
  17. echo "autorestart=true" >> /etc/supervisor/conf.d/mer_s.conf && \
  18. echo "startsecs=3" >> /etc/supervisor/conf.d/mer_s.conf && \
  19. echo "startretries=3" >> /etc/supervisor/conf.d/mer_s.conf && \
  20. echo "stdout_logfile=/var/log/supervisor/mer_s.out.log" >> /etc/supervisor/conf.d/mer_s.conf && \
  21. echo "stderr_logfile=/var/log/supervisor/mer_s.err.log" >> /etc/supervisor/conf.d/mer_s.conf && \
  22. echo "stdout_logfile_maxbytes=2MB" >> /etc/supervisor/conf.d/mer_s.conf && \
  23. echo "stderr_logfile_maxbytes=2MB" >> /etc/supervisor/conf.d/mer_s.conf && \
  24. echo "user=root" >> /etc/supervisor/conf.d/mer_s.conf && \
  25. echo "priority=999" >> /etc/supervisor/conf.d/mer_s.conf && \
  26. echo "numprocs=1" >> /etc/supervisor/conf.d/mer_s.conf && \
  27. echo "process_name=%(program_name)s_%(process_num)02d" >> /etc/supervisor/conf.d/mer_s.conf
  28. # 创建 mer_q.conf 配置文件
  29. RUN echo "[program:mer_q]" > /etc/supervisor/conf.d/mer_q.conf && \
  30. echo "command=php think queue:work --tries 2" >> /etc/supervisor/conf.d/mer_q.conf && \
  31. echo "directory=/var/www/" >> /etc/supervisor/conf.d/mer_q.conf && \
  32. echo "autorestart=true" >> /etc/supervisor/conf.d/mer_q.conf && \
  33. echo "startsecs=3" >> /etc/supervisor/conf.d/mer_q.conf && \
  34. echo "startretries=3" >> /etc/supervisor/conf.d/mer_q.conf && \
  35. echo "stdout_logfile=/var/log/supervisor/mer_q.out.log" >> /etc/supervisor/conf.d/mer_q.conf && \
  36. echo "stderr_logfile=/var/log/supervisor/mer_q.err.log" >> /etc/supervisor/conf.d/mer_q.conf && \
  37. echo "stdout_logfile_maxbytes=2MB" >> /etc/supervisor/conf.d/mer_q.conf && \
  38. echo "stderr_logfile_maxbytes=2MB" >> /etc/supervisor/conf.d/mer_q.conf && \
  39. echo "user=root" >> /etc/supervisor/conf.d/mer_q.conf && \
  40. echo "priority=999" >> /etc/supervisor/conf.d/mer_q.conf && \
  41. echo "numprocs=1" >> /etc/supervisor/conf.d/mer_q.conf && \
  42. echo "process_name=%(program_name)s_%(process_num)02d" >> /etc/supervisor/conf.d/mer_q.conf
  43. # 设置入口命令
  44. ENTRYPOINT ["/entrypoint.sh"]
  45. # 创建日志文件
  46. RUN touch /var/www/service.err.log /var/www/service.out.log