
eilandert/postfix本镜像是一个基于 Ubuntu/Debian 系统的 Docker 化 Postfix 邮件传输代理(MTA),集成了来自 deb.paranoid.nl 的优化软件包及 OpenSSL 3 库。主要用途是在容器环境中提供轻量、可靠的邮件转发服务,支持现代 TLS/SSL 加密协议,适用于需要标准化部署和动态配置管理的场景。
ubuntu:rolling 构建,兼容 Debian 系统依赖。deb.paranoid.nl 提供的定制化 Postfix 包,增强稳定性与安全性。/etc/postfix/main.cf 不存在,自动复制原始配置文件至目标目录,简化初始部署。通过 Docker Hub 或私有仓库拉取镜像(假设镜像标签为 paranoidnl/postfix:latest,具体标签以实际仓库为准):
bashdocker pull paranoidnl/postfix:latest
首次运行时,若未挂载外部配置,容器会自动生成默认配置:
bashdocker run -d \ --name postfix \ -p 25:25 \ # SMTP 端口 paranoidnl/postfix:latest
通过 -e 参数设置环境变量,支持以下参数:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
SYSLOG_HOST | 指定 syslog 服务器地址(如 192.168.1.100),用于日志集中转发 | 未设置(禁用) |
TZ | 设置容器时区(如 Asia/Shanghai、UTC),影响日志时间戳与定时任务 | UTC |
示例:配置时区为上海,并转发日志至 syslog 服务器:
bashdocker run -d \ --name postfix \ -p 25:25 \ -e TZ=Asia/Shanghai \ -e SYSLOG_HOST=10.0.0.5:514 \ paranoidnl/postfix:latest
为避免容器重启后配置丢失,需将 Postfix 配置目录持久化至宿主机:
宿主机准备:创建配置目录并赋予权限(如 /data/postfix/config):
bashmkdir -p /data/postfix/config && chmod 755 /data/postfix/config
挂载配置目录运行:
bashdocker run -d \ --name postfix \ -p 25:25 \ -e TZ=Asia/Shanghai \ -v /data/postfix/config:/etc/postfix \ # 持久化配置 paranoidnl/postfix:latest
说明:首次挂载空目录时,容器会自动复制原始配置文件至
/data/postfix/config,后续可直接修改宿主机目录下的main.cf、master.cf等文件自定义配置。
Postfix 依赖 SSL 证书进行 TLS 加密,需将证书文件挂载至容器内 Postfix 配置的证书路径(默认路径需参考容器内 main.cf 中的 smtpd_tls_cert_file 和 smtpd_tls_key_file 配置,通常为 /etc/postfix/ssl/)。
操作步骤:
/data/postfix/ssl),存放证书文件(如 fullchain.pem、privkey.pem)。bashdocker run -d \ --name postfix \ -p 25:25 \ -v /data/postfix/config:/etc/postfix \ -v /data/postfix/ssl:/etc/postfix/ssl \ # 挂载 SSL 证书 paranoidnl/postfix:latest
创建 docker-compose.yml 文件,整合配置、证书持久化及环境变量:
yamlversion: '3.8' services: postfix: image: paranoidnl/postfix:latest container_name: postfix restart: always ports: - "25:25" # SMTP 端口 - "587:587" # 可选:提交端口(需在 main.cf 中启用) environment: - TZ=Asia/Shanghai - SYSLOG_HOST=192.168.1.200:514 volumes: - /data/postfix/config:/etc/postfix:rw # 持久化配置 - /data/postfix/ssl:/etc/postfix/ssl:ro # 只读挂载证书 - /var/log/postfix:/var/log/postfix:rw # 可选:持久化日志 networks: - mail_network networks: mail_network: driver: bridge
启动服务:
bashdocker-compose up -d
| 参数名 | 类型 | 说明 | 示例值 |
|---|---|---|---|
SYSLOG_HOST | 字符串 | 格式为 [IP]:[PORT],指定 syslog 服务器地址,用于将 Postfix 日志转发至外部日志系统 | 10.0.0.10:514 |
TZ | 字符串 | 符合 IANA 时区数据库格式,用于设置容器内系统时间及 Postfix 日志时间戳 | Europe/London |
| 文件路径 | 说明 | 建议操作 |
|---|---|---|
/etc/postfix/main.cf | Postfix 主配置文件,包含域名、端口、TLS 策略等核心参数 | 持久化后通过宿主机编辑 |
/etc/postfix/master.cf | 进程管理配置文件,定义服务监听端口及进程数 | 按需修改并持久化 |
/etc/postfix/ssl/ | SSL 证书存放目录,需包含证书链及私钥文件 | 只读挂载宿主机证书目录 |
注意:修改配置文件后,若未启用持久化,容器重启会丢失变更;建议通过宿主机挂载目录管理配置,确保持久性。




manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务