我在aws云的ubuntu VM上设置了docker-mailserver映像。我在同一个VM上配置了一个单独的openldap映像。我也加入了肠痈 CN = ABC,OU =人,DC = X,DC = Y,DC = Z,DC = COM 当我尝试使用ldapsearch来获取上述条目时,我能够做到这一点。但是,当我使用脚本从另一个ubuntu VM发送邮件并使用此邮件服务器时,它会出现错误,即“临时查找失败,无法联系LDAP服务器" 我在两个容器之间建立了一个用户定义的桥接器,我可以从其他容器的/ bin / bash中远程登录它们。
这是我的邮件服务器容器的docker-compose.yml文件,
version: '2'
services:
mail:
restart: always
image: abc/docker-mailserver:latest
hostname: x
domainname: y.z.com
container_name: mail
ports:
- "25:25"
- "143:143"
- "587:587"
- "993:993"
- "389:389"
- "636:636"
volumes:
- maildata:/var/mail
- mailstate:/var/mail-state
- ./spamassassin:/tmp/spamassassin/
- ./postfix:/tmp/postfix/
- /etc/letsencrypt:/etc/letsencrypt
- ./config/:/tmp/docker-mailserver/
environment:
- ENABLE_SPAMASSASSIN=1
- ENABLE_CLAMAV=1
- ENABLE_MANAGESIEVE=1
- SA_TAG=2.0
- SA_TAG2=6.31
- SA_KILL=6.31
- SSL_TYPE=letsencrypt
- ENABLE_FAIL2BAN=1
- ENABLE_POSTGREY=1
- ONE_DIR=1
- DMS_DEBUG=0
{
- ENABLE_LDAP=1
- LDAP_SERVER_HOST= ldap-server-ip # your ldap container/IP/ServerName
- LDAP_SEARCH_BASE=cn=abc,ou=people,dc=x,dc=y,dc=z,dc=com
- LDAP_BIND_DN=cn=admin,dc=x,dc=y,dc=z,dc=com
- LDAP_BIND_PW=***
- LDAP_QUERY_FILTER_USER="(&(mail=%s)(mailEnabled=TRUE))"
- LDAP_QUERY_FILTER_GROUP="(&(mailGroupMember=%s)(mailEnabled=TRUE))"
- LDAP_QUERY_FILTER_ALIAS="(&(mailAlias=%s)(mailEnabled=TRUE))"
}
- DOVECOT_PASS_FILTER="(&(objectClass=*)(uniqueIdentifier=%n))" # - DOVECOT_USER_FILTER="(&(objectClass=PostfixBookMailAccount)(uniqueIdentifier=%n))"
{
- ENABLE_SASLAUTHD=1
- SASLAUTHD_MECHANISMS=ldap
- SASLAUTHD_LDAP_SERVER= ldap-server-ip
- SASLAUTHD_LDAP_BIND_DN=cn=admin,dc=x,dc=y,dc=z,dc=com
- SASLAUTHD_LDAP_PASSWORD=***
- SASLAUTHD_LDAP_SEARCH_BASE=cn=abc,ou=people,dc=x,dc=y,dc=z,dc=com
- POSTMASTER_ADDRESS=postmaster@x.y.z.com
- MAIL_USER=user@x.y.z.com
- MAIL_PASS=******
- LDAP_QUERY_FILTER_DOMAIN="(&(|(mail=*@%s)(mailalias=*@%s)(mailGroupMember=*@%s))(mailEnabled=TRUE))" }
# >>> Kopano Integration
- ENABLE_POSTFIX_VIRTUAL_TRANSPORT=1
- POSTFIX_DAGENT=lmtp:kopano:2003
# <<< Kopano Integration
- PERMIT_DOCKER=host
cap_add:
- NET_ADMIN
- SYS_PTRACE volumes: maildata:
driver: local mailstate:
driver: local
答案 0 :(得分:0)
LDAP是否也在Docker中运行?如果是,那么将这两个服务放入相同的撰写文件并使用容器名称而不是IP可能是有益的。