docker安装openldap集成jenkins

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

登录后显示页面如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-G2tP7TFv-1596643925757)(../images/screenshot_1596643456915.png)]
数据持久化目录

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
在这里插入图片描述
同样方式创建users,创建完成后如下所示:
在这里插入图片描述

创建openldap组

点击ou=groups—>Create a child entry
在这里插入图片描述
选择Generic: Posix Group
在这里插入图片描述
组名称自定义,这里配置为dev,点击Create Object—>Commit
在这里插入图片描述
同样方式可以创建更多组,dev开发组、test测试组、prod生产组等,创建完成后如下:
在这里插入图片描述

创建openldap用户

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

点击ou=users—>Create a child entry
在这里插入图片描述
选择Generic: User Account
在这里插入图片描述填写用户信息,注意选择GID Number,这里选择为dev
在这里插入图片描述
同样方式可以创建更多用户,创建完成后如下所示:
在这里插入图片描述
为用户附加更多属性,选择某个用户点击Add new attribute,依次下拉选择displayName及Email进行配置:
在这里插入图片描述
为组附加更多属性,选择某个组点击Add new attribute,下拉选择memberUid进行配置:
在这里插入图片描述

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

配置示例:
在这里插入图片描述
然后点击Test LDAP settings,这里使用用户szhang进行测试,这里密码为123456
在这里插入图片描述
测试完成后返回成功信息
在这里插入图片描述
点击保存,注销jenkins账号重新登陆,显示登陆用户为张三:
在这里插入图片描述
参考:
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安装OpenLDAP,您可以按照以下步骤进行操作: 1. 首先,确保您已经安装Docker。可以在终端中运行 `docker --version` 命令来检查。 2. 创建一个新的目录来存储OpenLDAP的配置和数据文件。例如,您可以运行以下命令创建一个名为"ldapdata"的目录: ``` mkdir ldapdata ``` 3. 在创建的目录中,创建一个名为`slapd.conf`的配置文件。以下是一个示例配置文件的内容: ``` include /etc/openldap/schema/core.schema pidfile /var/run/slapd/slapd.pid argsfile /var/run/slapd/slapd.args access to * by * read database bdb suffix "dc=example,dc=com" rootdn "cn=admin,dc=example,dc=com" rootpw {CLEARTEXT}adminpassword directory /var/lib/ldap ``` 请注意,这只是一个基本的示例配置文件,您可以根据自己的需求进行调整。确保将`rootpw`字段中的密码更改为您自己的密码。 4. 创建一个名为`Dockerfile`的文件,并添加以下内容: ``` FROM osixia/openldap:1.5.0 COPY slapd.conf /container/service/slapd/assets/config/bootstrap/ldif/custom/ RUN rm /container/service/slapd/assets/config/bootstrap/ldif/50-bootstrap.ldif ``` 这将使用`osixia/openldap`镜像作为基础,并将您的`slapd.conf`配置文件复制到正确的位置。 5. 构建Docker镜像。在终端中,导航到包含`Dockerfile`的目录,并运行以下命令: ``` docker build -t myldap . ``` 这将构建一个名为`myldap`的新镜像。 6. 运行OpenLDAP容器。在终端中运行以下命令: ``` docker run --name myldap -p 389:389 -v $PWD/ldapdata:/var/lib/ldap -d myldap ``` 这将以后台模式运行一个名为`myldap`的容器,并将主机的389端口映射到容器的389端口。还将创建一个数据卷将`ldapdata`目录挂载到容器的`/var/lib/ldap`目录。 现在,您应该已经成功安装和运行了OpenLDAP容器。您可以使用LDAP客户端工具连接到LDAP服务器,并根据您在配置文件中设置的信息进行操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

willops

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值