本文主要講述在docker環境下如何進行 OpenLDAP 多主複製,至於 OpenLDAP 原理能夠先參考這篇文章瞭解:https://cloud.tencent.com/developer/article/1490857html
服務端鏡像git
docker pull osixia/openldap
客戶端鏡像github
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 能夠自定義設置,若是不設置默認爲admindocker
容器1:centos
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:bash
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
docker inspect -f "{{ .NetworkSettings.IPAddress }}" ldap1 docker inspect -f "{{ .NetworkSettings.IPAddress }}" ldap2
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"
docker run -d --restart=always --name ldap-account-manager -p 4389:80 --detach ldapaccountmanager/lam:latest
登陸前請進行相關設置,請參考如下設置規則網絡
(1)先進行登陸前的設置,點擊右上角 LAM configuration 菜單進行設置
測試
(2)點擊 Edit server profiles 菜單,進行相關設置, 默認密碼爲 lam
centos7
(3)設置對應服務端IP和LDAP域名(IP爲容器對應內網IP,或者公網IP,驗證數據同步時,設置不一樣容器IP鏈接便可,LDAP域名要和容器運行時候設置 LDAP_DOMAIN 一致,格式爲 dc=example,dc=com),和客戶端管理員用戶(默認admin)
(4)默認初始化兩個組(這個能夠不設置,注意格式爲:ou=people,dc=example,dc=com ,ou能夠自定義,dc要和容器運行時候設置 LDAP_DOMAIN 一致)
(5)設置完成後,進入首頁進行登陸,密碼爲容器運行時候設置 LDAP_ADMIN_PASSWORD 密碼
(6)登陸容器 ldap1 添加一個用戶,觀察 ldap2 是否能正常同步,以下圖測試能夠正常同步數據
添加相關用戶測試可參考下面的文章進行配置
參考文章:
1.https://github.com/osixia/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中添加多個不一樣的組和用戶