docker安装openldap集成jenkins

目录

    • docker安装openldap
    • docker-compose方式
    • 创建openldap用户和组
      • 创建OpenLDAP基础域
      • 创建openldap组
      • 创建openldap用户
    • jenkins集成openldap

docker安装openldap

参考:
https://github.com/osixia/docker-openldap
https://github.com/osixia/docker-phpLDAPadmin

创建自定义网络

docker network create openldap

安装openldap

docker run -d --name openldap \
  --restart always \
  -p 389:389 -p 636:636 \
  --hostname ldap.mycompany.com \
  --net openldap \
  --env LDAP_ORGANISATION="mycompany" \
  --env LDAP_DOMAIN="mycompany.com" \
  --env LDAP_ADMIN_PASSWORD="ldap@123" \
  -v openldap-db:/var/lib/ldap \
  -v openldap-config:/etc/ldap/slapd.d \
  osixia/openldap

参数说明:

  • LDAP_ORGANISATION:配置LDAP组织
  • LDAP_DOMAIN:配置LDAP域
  • LDAP_ADMIN_PASSWORD:配置LDAP密码
  • 默认登录用户名:admin

安装phpldapadmin
php ldap admin(也称为PLA)是一个基于Web的LDAP客户端。它为LDAP服务器提供简单,随处可访问的多语言管理。

docker run -d --name phpldapadmin \
    --restart always \
    -p 8443:443 \
    --net openldap \
    --env PHPLDAPADMIN_LDAP_HOSTS=openldap \
    osixia/phpldapadmin 

参数说明:

  • PHPLDAPADMIN_LDAP_HOSTS:ldap地址,自定义网络可以指定为容器名

访问phpldapadmin,点击login进行登录

https://192.168.93.9:8443

Login DN:cn=admin,dc=mycompany,dc=com
Password:ldap@123

登录后显示页面如下:
docker安装openldap集成jenkins_第1张图片
数据持久化目录

docker inspect openldap -f "{{.Mounts}}"

清理安装环境(所有数据被清理,包括卷和网络)

docker rm -f openldap phpldapadmin
docker volume rm openldap-config openldap-db
docker network rm openldap

docker-compose方式

创建网络

docker network create openldap

创建docker-compose文件

# cat docker-compose.yml
version: "3"
services:
  openldap:
    container_name: "openldap"
    image: "osixia/openldap:latest"
    restart: always
    networks: 
      - openldap
    environment:
      LDAP_ORGANISATION: "mycompany"
      LDAP_DOMAIN: "mycompany.com"
      LDAP_ADMIN_PASSWORD: "ldap@123"
      LDAP_CONFIG_PASSWORD: "ldap@123"
    volumes:
      - openldap-db:/var/lib/ldap
      - openldap-config:/etc/ldap/slapd.d
    ports:
      - '389:389'
      - '636:636' 
  phpldapadmin:
    container_name: "phpldapadmin"
    image: "osixia/phpldapadmin:latest"
    restart: always
    networks: 
      - openldap
    depends_on:
      - openldap
    environment:
      #PHPLDAPADMIN_HTTPS: "false"
      PHPLDAPADMIN_LDAP_HOSTS: "openldap"
    ports:
      - '8443:443'

networks:
  openldap:

volumes:
  openldap-config:
  openldap-db:

运行容器

docker-compose up -d

查看容器运行状态

# docker-compose ps
    Name             Command         State                     Ports                   
---------------------------------------------------------------------------------------
openldap       /container/tool/run   Up      0.0.0.0:389->389/tcp, 0.0.0.0:636->636/tcp
phpldapadmin   /container/tool/run   Up      0.0.0.0:8443->443/tcp, 80/tcp

清理安装环境(所有数据被清理,包括卷和网络)

docker-compose down -v

创建openldap用户和组

创建OpenLDAP基础域

点击create new entry here—>Generic: Organisational Unit,这里名称为groups
docker安装openldap集成jenkins_第2张图片
同样方式创建users,创建完成后如下所示:
docker安装openldap集成jenkins_第3张图片

创建openldap组

点击ou=groups—>Create a child entry
docker安装openldap集成jenkins_第4张图片
选择Generic: Posix Group
docker安装openldap集成jenkins_第5张图片
组名称自定义,这里配置为dev,点击Create Object—>Commit
docker安装openldap集成jenkins_第6张图片
同样方式可以创建更多组,dev开发组、test测试组、prod生产组等,创建完成后如下:
docker安装openldap集成jenkins_第7张图片

创建openldap用户

在users基础域下创建一个zhangsan的用户。

点击ou=users—>Create a child entry
docker安装openldap集成jenkins_第8张图片
选择Generic: User Account
docker安装openldap集成jenkins_第9张图片填写用户信息,注意选择GID Number,这里选择为dev
docker安装openldap集成jenkins_第10张图片
同样方式可以创建更多用户,创建完成后如下所示:
docker安装openldap集成jenkins_第11张图片
为用户附加更多属性,选择某个用户点击Add new attribute,依次下拉选择displayName及Email进行配置:
docker安装openldap集成jenkins_第12张图片
为组附加更多属性,选择某个组点击Add new attribute,下拉选择memberUid进行配置:
docker安装openldap集成jenkins_第13张图片

jenkins集成openldap

Jenkins默认使用自带数据库模式存储用户,在企业中一般都会有统一的认证中心,例如 LDAP、ActiveDirectory中管理用户。可以配置Jenkins集成实现统一用户管理。

参考:https://plugins.jenkins.io/ldap/

首先,需要在Jenkins系统中安装LDAP插件(默认已安装),然后进入系统管理 ->全局安全配置页面中选择LDAP,配置以下信息:
server:

192.168.93.9:389

User search base:

ou=users,dc=mycompany,dc=com

Group search base:

ou=groups,dc=mycompany,dc=com

Manager DN:

cn=admin,dc=mycompany,dc=com

Manager Password:

ldap@123

配置示例:
docker安装openldap集成jenkins_第14张图片
然后点击Test LDAP settings,这里使用用户szhang进行测试,这里密码为123456
docker安装openldap集成jenkins_第15张图片
测试完成后返回成功信息
docker安装openldap集成jenkins_第16张图片
点击保存,注销jenkins账号重新登陆,显示登陆用户为张三:
docker安装openldap集成jenkins_第17张图片
参考:
https://blog.csdn.net/mylitboy/article/details/88865428
https://www.cnblogs.com/fengjian2016/p/12494784.html
https://www.cnblogs.com/xiaomifeng0510/p/9564688.html
https://cloud.tencent.com/developer/article/1349446

你可能感兴趣的:(docker,Linux,docker,linux)