发现typecho使用复杂一点的主题时会比较卡顿

一番查找发现使用的镜像问题,nightly-php8.2-alpine使用的是php启动的web,如果页面复杂会很卡顿

改为使用nightly-php8.2-apache就好了,就是镜像大不少

顺便时区文件也不用映射了,直接使用环境变量TIMEZONE来设置,启动脚本会自动配置系统时区和php时区
之前的alpine容器中不包含时区文件,所以需要映射

  typecho:
    image: joyqi/typecho:nightly-php8.2-apache
    container_name: typecho_blog
    restart: unless-stopped
    volumes:
      - well_known_tmp:/app/.well-known
      - ./typecho:/app/usr
    environment:
      TIMEZONE: "Asia/Shanghai"
      TYPECHO_INSTALL: 1
      TYPECHO_SITE_URL: https://han.kozow.com
      TYPECHO_DB_ADAPTER: Pdo_SQLite
      TYPECHO_DB_FILE: data.db
      TYPECHO_DB_NEXT: keep
alarm ~/typecho# dp stats --no-stream
CONTAINER ID   NAME              CPU %     MEM USAGE / LIMIT     MEM %     NET I/O         BLOCK I/O         PIDS
e1b796924207   typecho_blog      0.01%     50.08MiB / 3.681GiB   1.33%     1.3MB / 4.5MB   5.49MB / 15.3MB   11
a8fa1fffcfbd   typeco_acme.sh    0.00%     2MiB / 3.681GiB       0.05%     3.67kB / 0B     1.66MB / 4.1kB    1
f7803f6e82f2   typecho_openfrp   0.00%     8.91MiB / 3.681GiB    0.24%     121MB / 127MB   1.65MB / 0B       11
305664dbb6c0   typecho_mefrp     0.00%     10.06MiB / 3.681GiB   0.27%     165MB / 175MB   6.35MB / 0B       10

这是镜像大小对比,apache的大小还是大不少的

alarm ~# docker images joyqi/typecho
REPOSITORY      TAG                         IMAGE ID       CREATED        SIZE
joyqi/typecho   nightly-php8.2-apache       a61300b78311   16 hours ago   521MB
joyqi/typecho   nightly-php8.2-alpine       9ef651c57fcb   18 hours ago   103MB
joyqi/typecho   nightly-php8.2-fpm-alpine   3746b6212c1f   3 days ago     87.7MB
alarm ~# docker images nginx
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        alpine    96868d9fa38f   3 weeks ago   49.7MB
nginx        latest    a5cdc6683c84   3 weeks ago   198MB

最后,如果对镜像大小敏感或许可以配置一下nightly-php8.2-fpm-alpinenginx:alpine的组合

https://github.com/typecho/Dockerfile/issues/20
https://www.runoob.com/note/34619
https://moonbingbing.gitbooks.io/openresty-best-practices/content/ngx/nginx_local_pcre.html