Sign inSign up

micrograils/h2o

By micrograils

•Updated 13 days ago

Ultra-lightning, statically-linked H2O web-server base image

Image
Web servers
1

2.4K

micrograils/h2o repository overview

⁠h2o Docker 镜像

Docker Image Size Docker Pulls Platforms

一个极致轻量、静态编译的 H2O⁠ 官方 master 分支基础镜像, 专为微服务、PHP-FPM 后端、静态站点边缘容器而设计。

⁠特点

  • 体积超小:压缩后约 12 MB,CI 拉取秒完成
  • 静态链接:除 ca-certificates 外零运行时依赖,安全、启动快
  • 多架构:linux/amd64、linux/arm64(Apple M 系列、云实例全覆盖)
  • 自带能力:HTTP/2、mruby、fusion、ssl-zerocopy、ktls

⁠快速开始

docker run -d -p 80:80 micrograils/h2o

浏览器访问 http://localhost 即可。

挂载本地目录:

docker run -d -p 80:80 -v $PWD:/var/www micrograils/h2o

使用自定义配置与证书:

docker run -d --name h2o -p 80:80 -p 443:443 \
  -v /your/h2o.conf:/etc/h2o/h2o.conf:ro \
  -v /your/cert:/etc/ssl/certs \
  micrograils/h2o:latest

作为 PHP-FPM 基础镜像(示例片段):

FROM micrograils/h2o:latest
RUN apk add --no-cache php82 php82-fpm
COPY php-fpm.conf /etc/php82/php-fpm.conf
CMD ["sh", "-c", "php-fpm82 -D && h2o -c /etc/h2o/h2o.conf"]

⁠目录结构

/etc/h2o/h2o.conf          # 主配置文件(可挂载覆盖)
/usr/local/bin/h2o         # h2o 可执行文件
/usr/local/share/h2o       # kill-on-close、fastcgi-cgi、ca-bundle.crt ...
/var/www                   # 默认 Web 根目录
/Dockerfile                # 镜像自身 Dockerfile(方便审计)

⁠数据卷

路径说明
/var/www默认 Web 根目录
/etc/h2o配置文件目录(可整目录或单文件挂载覆盖)

⁠端口

端口说明
80HTTP
443HTTPS(需自行挂证书并改 h2o.conf)

⁠镜像 tag

标签说明
latest最新一次构建
25.11.1日期版本(YY.MM.N:年月 + 当月第几次发布)
25.11.1-6263f60日期版本 + 构建时对应的上游 commit 短哈希,便于精确回滚

H2O 上游没有 release tag(版本号形如 2.3.0-DEV@<commit>), 所以用「日期版本 + commit」来定位每次构建。

⁠当前版本信息

# h2o -v
h2o version 2.3.0-DEV@607b732b6
OpenSSL: OpenSSL 3.5.4 30 Sep 2025
mruby: YES
fusion: YES
ssl-zerocopy: YES
ktls: YES

⁠常见问题

Q: 镜像里为什么没有 bash? A: 出于体积与安全考虑,只保留 musl libc 与静态 h2o;如需调试,可自行 apk add bash。

Q: 如何反代到 HTTPS 后端? A: 镜像已带 CA 证书包,直接在你的 h2o.conf 写 proxy.reverse.url: https://xxx 即可。

⁠相关链接


维护者文档(架构 / 构建 / 版本管理 / 维护)见 MAINTENANCE.md⁠。

Tag summary

Content type

Image

Digest

sha256:67c16eda3…

Size

11.4 MB

Last updated

13 days ago

docker pull micrograils/h2o