Sign inSign up

micrograils/h2o

By micrograils

Updated 10 months ago

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

Image
Web servers
1

2.1K

micrograils/h2o repository overview

Micrograils/h2o

Docker Image Size Docker Pulls Platforms

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


特点

  • 体积超小:压缩后仅 ~12 MB,CI 拉取秒完成
  • 静态链接:除 ca-certificates 外零运行时依赖,安全、启动快
  • 多架构:同时支持 linux/amd64 与 linux/arm64(Apple M1、云实例全覆盖)

快速开始

  • 极速开始
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(方便审计)

标签说明

标签说明
latest最新稳定构建
25.11.12025 年 11 月第 1 次发布,对应 Git 短 commit
25.11.1-abc1d23含 Git 短 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
key-exchanges: X25519MLKEM768, secp521r1, secp384r1, x25519, SecP384r1MLKEM1024, SecP256r1MLKEM768, MLKEM1024, MLKEM768, MLKEM512, secp256r1

构建与开发

Dockerfile 已随镜像发布,位于容器内 /Dockerfile

#!/bin/bash

ALPINE_VERSION=3.22.2
VERSION=25.11.1

COMMIT=$(git ls-remote https://github.com/h2o/h2o HEAD | cut -c1-7)
docker buildx build \
  --platform linux/amd64,linux/arm64 \
  --build-arg ALPINE_VERSION=${ALPINE_VERSION} \
  -t micrograils/h2o:${VERSION} \
  -t micrograils/h2o:${VERSION}-${COMMIT} \
  -t micrograils/h2o:latest \
  --push -f Dockerfile .


常见问题

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

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


许可证

本项目采用 MIT 许可证;H2O 源码遵循 MIT


链接

Tag summary

Content type

Image

Digest

sha256:098285445

Size

12.3 MB

Last updated

10 months ago

docker pull micrograils/h2o