
独立的MJML服务器,监听80/tcp端口。
由于各种挑战,此镜像具有以下特性:
此镜像启动一个简单的MJML服务器实例,默认监听80/tcp端口。
出于GDPR/DSGVO原因,需要将MJML实例置于自己的控制之下,因为邮件内容生成过程中会处理个人信息。
启动镜像非常简单,可通过Docker运行测试实例:
shdocker run -it --rm -p 8080:80 mjml-server
或使用docker-compose,示例配置如下:
ymlversion: '3.7' services: mjml: image: adrianrudnik/mjml-server ports: - 8080:80 # environment: # 如需更改端口: # - PORT=8080 # 开发环境下,取消以下行的注释: # - CORS=* # - MJML_KEEP_COMMENTS=true # - MJML_VALIDATION_LEVEL=strict # - MJML_MINIFY=false # - MJML_BEAUTIFY=true
在不进行任何覆盖的情况下,生产环境的默认配置如下:
shCORS "" MJML_KEEP_COMMENTS "false" MJML_VALIDATION_LEVEL "soft" MJML_MINIFY "true" MJML_BEAUTIFY "false" HEALTHCHECK "true" CHARSET="utf8" DEFAULT_RESPONSE_CONTENT_TYPE="text/html; charset=utf-8"
对于开发环境,建议将配置切换为:
shCORS "*" MJML_KEEP_COMMENTS "true" MJML_VALIDATION_LEVEL "strict" MJML_MINIFY "false" MJML_BEAUTIFY "true" HEALTHCHECK "false"
这会将MJML代码中的任何问题记录到Docker日志中(stdout或docker-compose logs)。
确保传递正确的Content-Type头,并将MJML作为原始请求体传递。
通过HTTP响应代码捕获错误。
由于Kubernetes不支持Dockerfile中指定的默认HEALTHCHECK指令,您可能需要指定自己的探针:
spec: containers: - name: ... livenessProbe: exec: command: - curl - -X POST - 'http://localhost:80/' initialDelaySeconds: 30 periodSeconds: 30 readinessProbe: exec: command: - curl - -X POST - 'http://localhost:80/' initialDelaySeconds: 25
请注意,这仅检查连接性,端口可能会有所不同。如果还需要功能检查,可以采用类似于Docker中healthcheck.sh的方法。但我不是Kubernetes用户,如有更简洁的方法,欢迎提交PR。
如果您想依赖Makefile或构建多架构镜像,请确保已启用Docker的实验性功能,并可以使用docker buildx。
在我的Ubuntu 20.04工作站上的设置如下(基于上述文档):
bash# 为当前主机Linux系统上的默认节点安装其他平台支持 docker run --privileged --rm tonistiigi/binfmt --install all # 创建一个使用默认节点的独立端点 docker buildx create --use mjml-server default # 之后,可以使用类似以下命令进行本地构建 docker buildx build -f Dockerfile --platform linux/amd64,linux/arm64 -t [registry-and-tag] --push . # ... 或者如果想在本地使用mjml-server标签 docker buildx build -f Dockerfile --platform linux/amd64,linux/arm64 -t mjml-server --load .
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。


探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务