docker一个容器多个服务_docker一个容器多个服务[通俗易懂]

docker一个容器多个服务_docker一个容器多个服务[通俗易懂]在一套CI架构中,我们需要使用到各种各样得软件,需要这些软件协同工作

一、统一账户管理中心配置

  • 在一套CI架构中,我们需要使用到各种各样得软件,需要这些软件协同工作。但是我们又不希望让用户在每一软件上都单独去进行账户得注册以及密码得维护。为了方便运维管理,我们引入LDAP作为统一账户管理中心。LDAP实际上是一个协议,目前针对轻量级目录服务协议的实现产品有很多。我们选择使用OPEN LDAP作为实现产品。该产品是免费的,功能也较为全面。客户端软件我们采用LDAP ADMIN。
    在这里插入图片描述
  • LDAP是一个以树型结构进行数据组织管理的目录服务器,该服务器针对数据查询有极快的效率,但是针对更新、删除等变化性的操作效率很差,所以在生产活动中,通常会使用LDAP做一些静态数据的存储一个典型的应用场景是在公司的信息系统环境中,使用LDAP作为账户管理数据库来使用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cPMRBxSw-1642338112433)(images\1062001-20180612174219851-465284075.png)]

二、安装与配置

1、使用docker安装open ldap

docker  pull osixia/openldap

2、准备挂载目录

  • 使用open ldap时,我们需要将数据库以及配置文件挂载到宿主机中,所以需要提前准备出两个目录。 /root/docker_vol/ldap/database(数据库目录),/root/docker_vol/ldap/config配置信息目录

3、启动ldap容器

   docker run -itd  --hostname "jn-ldap" -p 10002:389 \
             --name "ldap" \
             -v /root/docker_vol/ldap/database:/var/lib/ldap \
             -v /root/docker_vol/ldap/config:/etc/ldap/slapd.d \
             -v /etc/localtime:/etc/localtime:ro \
             -e LDAP_ORGANISATION=jn \
             -e LDAP_DOMAIN=jn.com \
             -e LDAP_ADMIN_PASSWORD=P@ssword \
             -e LDAP_CONFIG_PASSWORD=P@ssword \
             -e TZ=Asia/Shanghai \ 
    osixia/openldap

4、验证服务器安装结果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Imm7YumJ-1642338112434)(images\image-20210706142617203.png)]

  • 选择connect后弹出配置窗口
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JtZyzI56-1642338112434)(images\image-20210706142739326.png)]
  • 选择new connection 创建新的连接,相关配置参考下图
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GcgBdPrt-1642338112435)(images\image-20210706150925867.png)]

到此为止,ldap已经可以支持账号存储。但是存在一个问题就是一旦开启了ldap认证,则所有的用户可以登录CI平台中的任意软件,为了避免这种情况,所以需要对ldap设置memberof选项

三、开启ldapmemberof选项

1、检查数据库配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uJ1miNfC-1642338112435)(images\image-20210706152639970.png)]
或者进入容器后执行:ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config dn
2、编写配置文件

  • memberof_conf.ldif
#开启memberof支持
dn: cn=module{ 
   0},cn=config
cn: modulle{ 
   0}
objectClass: olcModuleList
objectclass: top
olcModuleload: memberof.la
olcModulePath: /usr/lib/openldap

#新增用户支持memberof配置
dn: olcOverlay={ 
   0}memberof,olcDatabase={ 
   1}mdb,cn=config
objectClass: olcConfig
objectClass: olcMemberOf
objectClass: olcOverlayConfig
objectClass: top
olcOverlay: memberof
olcMemberOfDangling: ignore
olcMemberOfRefInt: TRUE
olcMemberOfGroupOC: groupOfUniqueNames
olcMemberOfMemberAD: uniqueMember
olcMemberOfMemberOfAD: memberOf
  • refint1.ldif
dn: cn=module{ 
   0},cn=config
add: olcmoduleload
olcmoduleload: refint
  • refint2.ldif
dn: olcOverlay=refint,olcDatabase={ 
   1}mdb,cn=config
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcRefintConfig
objectClass: top
olcOverlay: refint
olcRefintAttribute: memberof uniqueMember  manager owner

3、开启memberof配置

  • 进入容器后分别执行下列语句,注意样例中的路径为我本地路径,根据自身情况酌情修改路径。
  ldapadd -Q -Y EXTERNAL -H ldapi:/// -f  /data/disk1/openladp/memberof_conf.ldif 
  ldapmodify -Q -Y EXTERNAL -H ldapi:/// -f  /data/disk1/openladp/refint1.ldif 
  ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /data/disk1/openladp/refint2.ldif 

四、配置验证

1、使用ldap admin创建人员以及组

  • 第一步、创建人员组,通常该组内会包含所有的账号信息
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OBZ9K30E-1642338112436)(images\image-20210706181329306.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZhHaEq6X-1642338112436)(images\image-20210706181511619.png)]
  • 逐步添加需要管理的账户信息
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tcYmz4r5-1642338112436)(images\image-20210706181611412.png)]
  • 设置用户密码
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EjnTKGbj-1642338112437)(images\image-20210706181729664.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HZQCfII0-1642338112437)(images\image-20210706182045865.png)]
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YfoxC7lk-1642338112438)(images\image-20210706182146650.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nUo97NsU-1642338112438)(images\image-20210706182245388.png)]
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TvwZdL83-1642338112439)(images\image-20210706182338568.png)]
    2、验证memberof是否开启成功
  • 在容器内执行
ldapsearch -LL -Y EXTERNAL -H ldapi:/// "(uid=congminnan)" -b dc=jn,dc=com memberof 
  • 看到如下结果表示配置正确
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PwAIFtme-1642338112439)(images\image-20210706183001857.png)]

今天的文章docker一个容器多个服务_docker一个容器多个服务[通俗易懂]分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/88301.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注