
iredmail/mariadb警告:此为测试版,并非始终稳定,请勿在生产环境中使用(尚未正式发布)。
iredmail/mariadb:stable:稳定版本。iredmail/mariadb:nightly:每次GitHub提交时触发构建。创建用于存储自定义设置的docker环境文件:
bashmkdir /iredmail # 创建新目录或使用任何你喜欢的目录,/iredmail/仅为示例 cd /iredmail touch iredmail-docker.conf echo HOSTNAME=mail.mydomain.com >> iredmail-docker.conf echo FIRST_MAIL_DOMAIN=mydomain.com >> iredmail-docker.conf echo FIRST_MAIL_DOMAIN_ADMIN_PASSWORD=my-secret-password >> iredmail-docker.conf echo MLMMJADMIN_API_TOKEN=$(openssl rand -base64 32) >> iredmail-docker.conf echo ROUNDCUBE_DES_KEY=$(openssl rand -base64 24) >> iredmail-docker.conf
创建用于存储应用数据的必要目录:
bashcd /iredmail mkdir -p data/{backup-mysql,clamav,custom,imapsieve_copy,mailboxes,mlmmj,mlmmj-archive,mysql,sa_rules,ssl,postfix_queue}
bashdocker run \ --rm \ --name iredmail \ --env-file iredmail-docker.conf \ --hostname mail.mydomain.com \ -p 80:80 \ -p 443:443 \ -p 110:110 \ -p 995:995 \ -p 143:143 \ -p 993:993 \ -p 25:25 \ -p 465:465 \ -p 587:587 \ -v /iredmail/data/backup-mysql:/var/vmail/backup/mysql \ -v /iredmail/data/mailboxes:/var/vmail/vmail1 \ -v /iredmail/data/mlmmj:/var/vmail/mlmmj \ -v /iredmail/data/mlmmj-archive:/var/vmail/mlmmj-archive \ -v /iredmail/data/imapsieve_copy:/var/vmail/imapsieve_copy \ -v /iredmail/data/custom:/opt/iredmail/custom \ -v /iredmail/data/ssl:/opt/iredmail/ssl \ -v /iredmail/data/mysql:/var/lib/mysql \ -v /iredmail/data/clamav:/var/lib/clamav \ -v /iredmail/data/sa_rules:/var/lib/spamassassin \ -v /iredmail/data/postfix_queue:/var/spool/postfix \ iredmail/mariadb:stable
FIRST_MAIL_DOMAIN_ADMIN_PASSWORD仅在首次运行时设置/重置,非每次运行。iredmail-docker.conf中设置固定密码,例如MYSQL_ROOT_PASSWORD=<your-password>。若在Windows/macOS上运行Docker,或偏好使用Docker卷存储持久数据,请创建所需卷:
bashdocker volume create iredmail_backup # 备份文件 docker volume create iredmail_mailboxes # 所有用户*** docker volume create iredmail_mlmmj # 邮件列表数据 docker volume create iredmail_mlmmj_archive # 邮件列表归档 docker volume create iredmail_imapsieve_copy # Dovecot插件'imapsieve'使用 docker volume create iredmail_custom # 自定义配置文件 docker volume create iredmail_ssl # SSL证书/密钥文件 docker volume create iredmail_mysql # MySQL数据库 docker volume create iredmail_clamav # ClamAV数据库 docker volume create iredmail_sa_rules # SpamAssassin规则 docker volume create iredmail_postfix_queue # Postfix队列
使用卷启动容器:
bashdocker run \ --rm \ --name iredmail \ --env-file iredmail-docker.conf \ --hostname mail.mydomain.com \ -p 80:80 \ -p 443:443 \ -p 110:110 \ -p 995:995 \ -p 143:143 \ -p 993:993 \ -p 25:25 \ -p 465:465 \ -p 587:587 \ -v iredmail_backup-mysql:/var/vmail/backup/mysql \ -v iredmail_mailboxes:/var/vmail/vmail1 \ -v iredmail_mlmmj:/var/vmail/mlmmj \ -v iredmail_mlmmj_archive:/var/vmail/mlmmj-archive \ -v iredmail_imapsieve_copy:/var/vmail/imapsieve_copy \ -v iredmail_custom:/opt/iredmail/custom \ -v iredmail_ssl:/opt/iredmail/ssl \ -v iredmail_mysql:/var/lib/mysql \ -v iredmail_clamav:/var/lib/clamav \ -v iredmail_sa_rules:/var/lib/spamassassin \ -v iredmail_postfix_queue:/var/spool/postfix \ iredmail/mariadb:stable
Docker主机上仅需一个配置文件iredmail-docker.conf。
若偏好通过-e参数在启动容器时覆盖参数,此文件为可选。例如:
bashdocker run -e HOSTNAME=mail.mydomain.com -e FIRST_MAIL_DOMAIN=mydomain.com ...
建议将参数存储在环境文件(示例中的iredmail-docker.conf)中,以减少每次启动容器时的输入。
以下必需参数必须在iredmail-docker.conf中设置:
# 服务器主机名,必须是FQDN(完全限定域名),例如mail.mydomain.com HOSTNAME= # 首个邮件域名,例如mydomain.com FIRST_MAIL_DOMAIN= # 邮件用户postmaster@<FIRST_MAIL_DOMAIN>的(明文)密码 FIRST_MAIL_DOMAIN_ADMIN_PASSWORD= # 用于访问mlmmjadmin API的密钥令牌 MLMMJADMIN_API_TOKEN= # 用于加密/解密Roundcube会话数据的密钥字符串 # 如需运行Roundcube webmail则必需 # 可使用命令`openssl rand -base64 24`生成随机字符串作为des密钥 # 每次更改此密钥,所有Roundcube会话数据将失效,用户需重新登录 ROUNDCUBE_DES_KEY=
iredmail-docker.conf将被Docker作为环境文件读取,单引号或双引号会被视为值的一部分。不要在值中使用空格、制表符,也不要使用单引号或双引号。容器内的/docker/entrypoints/settings.conf文件中定义了许多可选设置,如需修改,可在iredmail-docker.conf中使用相同参数名并设置自定义值以覆盖默认值。
# 自定义HTTPS端口(如不使用默认443端口) PORT_HTTPS=4443
可参考此教程了解软件与网络端口的对应关系。

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