https://github.com/instrumentisto/opendmarc-docker-image/actions/workflows/ci.yml/badge.svg?branch=main "CI"](https://github.com/instrumentisto/opendmarc-docker-image/actions?query=workflow%3ACI+branch%3Amain)
https://hub.docker.com/r/instrumentisto/opendmarc | https://github.com/orgs/instrumentisto/packages/container/package/opendmarc | Quay.io
https://github.com/instrumentisto/opendmarc-docker-image/blob/main/CHANGELOG.md
Dockerfile 链接OpenDMARC是DMARC(基于域名的消息认证、报告和合规性)规范的免费开源软件实现。
OpenDMARC Docker镜像提供基于milter的过滤器应用,可插入到任何支持milter的MTA中,为较新版本的sendmail MTA及其他支持milter协议的MTA提供服务。
OpenDMARC是可信域名项目(The Trusted Domain Project)的一部分。
[***]
要运行OpenDMARC milter应用,只需启动容器:
bashdocker run -d -p 8893:8893 instrumentisto/opendmarc
可通过以下方式之一配置OpenDMARC(不可同时使用两种方式):
配置文件片段
将配置文件(必须以 .conf 结尾)放入 /etc/opendmarc/conf.d/ 目录。容器启动时,这些文件将应用于默认OpenDMARC配置。
bashdocker run -d -p 8893:8893 \ -v /本地/custom.conf:/etc/opendmarc/conf.d/10-custom.conf:ro \ instrumentisto/opendmarc
此方式适用于只需对默认配置进行少量修改,或希望将不同配置部分分开保存的场景。
完整配置文件
将配置文件 opendmarc.conf 放入 /etc/opendmarc/ 目录,完全替换镜像提供的默认配置文件。
bashdocker run -d -p 8893:8893 \ -v /本地/custom.conf:/etc/opendmarc/opendmarc.conf:ro \ instrumentisto/opendmarc
此方式适用于更方便一次性指定完整配置,而非修改默认选项的场景。
默认配置
要查看此Docker镜像的默认OpenDMARC配置,运行:
bashdocker run --rm instrumentisto/opendmarc cat /etc/opendmarc/opendmarc.conf
发送报告
此镜像预装了msmtp MTA,当DMARC记录中包含ruf标签时,可用于发送报告。
要实现此功能,需在 opendmarc.conf 中设置 FailureReports true 并将 FailureReportsSentBy 设为发件人地址(通常为 noreply)。然后创建 /etc/msmtprc 配置文件,内容如下:
defaults logfile - account default host <SMTP服务器> port <SMTP端口> from <发件人地址>
除替换MTA主机名/端口和发件人地址外,若涉及不可信网络,建议添加TLS和认证配置。详情参见msmtp手册。
注意避免邮件循环:若处理报告邮件时违反自身DMARC规则,可能导致生成更多报告。
由于OpenDMARC仅将日志写入 syslog,容器内运行 syslog 守护进程作为第二个辅助进程,由https://github.com/just-containers/s6-overlay提供的s6进程管理器进行监控。
此镜像的 syslog 守护进程配置为将所有日志写入 /dev/stdout。
要修改此行为,挂载自定义 /etc/syslog.conf 文件并定义所需日志规则。
此镜像包含https://github.com/just-containers/s6-overlay,如需可使用其提供的https://github.com/just-containers/s6-overlay#usage。
<X>最新主要版本 X 的最新标签。
<X.Y>最新次要版本 X.Y 的最新标签。
<X.Y.Z>具体版本 X.Y.Z 的最新标签。
<X.Y.Z>-r<N>具体版本 X.Y.Z 的第 N 版镜像修订标签。
构建后不再更新。
alpine基于流行的Alpine Linux项目(可在https://hub.docker.com/_/alpine中获取)。Alpine Linux比大多数发行版基础镜像小得多(约5MB),因此生成的镜像通常更精简。
当需要最小最终镜像体积时,强烈推荐此变体。需注意其使用musl libc而非glibc及类似库,某些软件可能因libc依赖深度而出现问题。但大多数软件无此问题,因此通常是安全选择。更多关于使用Alpine镜像的优缺点讨论参见此Hacker News评论线程。
OpenDMARC使用BSD许可证。
与所有Docker镜像一样,此镜像可能包含其他软件,可能使用其他许可证(如基础发行版中的Bash等,以及主要软件的直接或间接依赖)。
对于任何预构建镜像的使用,镜像用户有责任确保其使用符合包含的所有软件的相关许可证要求。
生成 instrumentisto/opendmarc Docker镜像的https://github.com/instrumentisto/opendmarc-docker-image使用https://github.com/instrumentisto/opendmarc-docker-image/blob/main/LICENSE.md许可证。
我们无法关注https://hub.docker.com(或其他容器仓库)的评论,因此请勿通过这些渠道报告问题或提问。
如遇此镜像相关问题或疑问,请通过https://github.com/instrumentisto/opendmarc-docker-image/issues联系我们。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 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 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务