亲宝软件园·资讯

展开

OpenLDAP多主复制(基于docker容器模式部署)

绿茶/ 人气:0
**本文主要讲述在docker环境下如何进行 OpenLDAP 多主复制,至于 OpenLDAP 原理可以先参考这篇文章了解:https://cloud.tencent.comhttps://img.qb5200.com/download-x/developer/article/1490857** ## 首先先拉取docker镜像 服务端镜像 ``` docker pull osixia/openldap ``` 客户端镜像 ``` docker pull ldapaccountmanager/lam ``` ## 启动两个服务端容器 **LDAP_ORGANISATION LDAP组织名,可以自定义设置,如果不设置默认为 Example Inc ,一般定义公司名** **LDAP_DOMAIN LDAP域名,可以自定义设置,如果不设置默认为 example.org,一般定义公司域名** **LDAP_REPLICATION=true 开启多主复制** **hostname 名称可以自定义,但是必须和LDAP_REPLICATION_HOSTS 其中的值一致** **LDAP_REPLICATION_HOSTS 为同步的服务器列表,必须和hostname对应上,并且保证两台机器网络互相访问正常** **LDAP_ADMIN_PASSWORD 可以自定义设置,如果不设置默认为admin** 容器1: ``` docker run --name ldap1 --restart=always --hostname ldap1.example.com --env LDAP_ORGANISATION="example" --env LDAP_DOMAIN="example.com" --env LDAP_REPLICATION_HOSTS="#PYTHON2BASH:['ldap://ldap1.example.com','ldap://ldap2.example.com']" --env LDAP_REPLICATION=true --env LDAP_ADMIN_PASSWORD="12345" -p 389:389 --detach osixia/openldap:latest ``` 容器2: ``` docker run --name ldap2 --restart=always --hostname ldap2.example.com --env LDAP_ORGANISATION="example" --env LDAP_DOMAIN="example.com" --env LDAP_REPLICATION_HOSTS="#PYTHON2BASH:['ldap://ldap1.example.com','ldap://ldap2.example.com']" --env LDAP_REPLICATION=true --env LDAP_ADMIN_PASSWORD="12345" -p 389:389 --detach osixia/openldap:latest ``` ## 分别获取 ldap1 和 ldap2 ip (如果是同一台机器部署的内网可以这样获取ip,如果不是同一台机器部署的网络,则不需要获取内网ip,直接配置对应的公网ip即可) ``` docker inspect -f "{{ .NetworkSettings.IPAddress }}" ldap1 docker inspect -f "{{ .NetworkSettings.IPAddress }}" ldap2 ``` ## 设置对应容器host,保证两个容器之间网络互通 ``` docker exec ldap1 bash -c "echo【设置ldap2的ip】ldap2.example.com >> /etc/hosts" docker exec ldap2 bash -c "echo【设置ldap1的ip】ldap1.example.com >> /etc/hosts" ``` ## 启动客户端服务(4389端口可以随意配置) ``` docker run -d --restart=always --name ldap-account-manager -p 4389:80 --detach ldapaccountmanager/lam:latest ``` ## 客户端访问 (对应客户端服务的ip+端口) http://127.0.0.1:4389 **登录前请进行相关设置,请参考以下设置规则** (1)先进行登录前的设置,点击右上角 LAM configuration 菜单进行设置 ![](https://img2020.cnblogs.com/blog/668003/202003/668003-20200330140448228-1114598042.jpg) (2)点击 Edit server profiles 菜单,进行相关设置, 默认密码为 lam ![](https://img2020.cnblogs.com/blog/668003/202003/668003-20200330140515013-1667861977.jpg) (3)设置对应服务端IP和LDAP域名(IP为容器对应内网IP,或者公网IP,验证数据同步时,设置不同容器IP连接即可,LDAP域名要和容器运行时候设置 LDAP_DOMAIN 一致,格式为 dc=example,dc=com),和客户端管理员用户(默认admin) ![](https://img2020.cnblogs.com/blog/668003/202003/668003-20200330140531619-401438503.jpg) ![](https://img2020.cnblogs.com/blog/668003/202003/668003-20200330140614526-1356698617.jpg) (4)默认初始化两个组(这个可以不设置,注意格式为:ou=people,dc=example,dc=com ,ou可以自定义,dc要和容器运行时候设置 LDAP_DOMAIN 一致) ![](https://img2020.cnblogs.com/blog/668003/202003/668003-20200330140631458-1733694768.jpg) (5)设置完成后,进入首页进行登录,密码为容器运行时候设置 LDAP_ADMIN_PASSWORD 密码 ![](https://img2020.cnblogs.com/blog/668003/202003/668003-20200330140653022-603438655.jpg) (6)登录容器 ldap1 添加一个用户,观察 ldap2 是否能正常同步,如下图测试可以正常同步数据 **添加相关用户测试可参考下面的文章进行配置** ![](https://img2020.cnblogs.com/blog/668003/202003/668003-20200330140820719-1026470418.jpg) ![](https://img2020.cnblogs.com/blog/668003/202003/668003-20200330140829008-130753599.jpg) ![](https://img2020.cnblogs.com/blog/668003/202003/668003-20200330140801855-1295930353.jpg) ![](https://img2020.cnblogs.com/blog/668003/202003/668003-20200330140813018-1547424695.jpg) 参考文章: 1.https://github.com/osixiahttps://img.qb5200.com/download-x/docker-openldap 官方文档 2.https://www.58jb.com/html/ldap-run-on-centos7.html ldap容器配置 3.https://www.58jb.com/html/use-ldap-account-manager.html 在ldap中添加多个不同的组和用户

加载全部内容

相关教程
猜你喜欢
用户评论