docker 容器搭建 openldap, phpldapadmin

148 篇文章 2 订阅

docker 容器搭建 openldap, phpldapadmin

实验环境: centos7 操作系统, ip 10.2.7.100, docker 17.03.3-ce,
openldap 镜像: osixia/openldap:1.2.5
phpldapadmin 镜像:osixia/phpldapadmin:0.8.0

安装 openldap

docker run -p 389:389 -p 636:636 \
--volume /data/slapd/database:/var/lib/ldap \
--volume /data/slapd/config:/etc/ldap/slapd.d \
--env LDAP_DOMAIN=example.io \
--env LDAP_ADMIN_PASSWORD=ldap123 \
--name my-openldap --detach osixia/openldap:1.2.5

安装 phpldapadmin(PHPLDAPADMIN_LDAP_HOSTS 必须使用外部 ip,openstack vm 必须使用 fip)

docker run -p 6443:443 --env PHPLDAPADMIN_LDAP_HOSTS=10.2.7.100 --name phpldapadmin\
--detach osixia/phpldapadmin:0.8.0

验证

docker exec my-openldap ldapsearch -x -H ldap://10.2.7.100 -b dc=example,dc=io -D "cn=admin,dc=example,dc=io" -w ldap123

或者安装 openldap clients, 使用 ldapsearch 命令

yum install  -y openldap-clients
ldapsearch -x -H ldap://10.2.7.100 -b dc=example,dc=io -D "cn=admin,dc=example,dc=io" -w ldap123

浏览器登陆 (记得开启 6443,389,636 等端口或者关闭防火墙),注意这里的 htttps,不是 http

https://10.2.7.100:6443
username: cn=admin,dc=exapmle,dc=io
password: ldap123

ldap 数据备份
数据目录存放在:/data/slapd/,docker 容器通过挂载可以直接使用
记得定期备份

问题

在 centos 7.9.2009, kernal 5.4.139-1.el7.elrepo.x86_64 使用上面的方法,在登录 phpldapadmin 时出现 invalid user and password 问题,可能是容器网络造成的,这里直接在启动容器的时候使用宿主机网络,

docker run --network host \
--volume /data/slapd/database:/var/lib/ldap \
--volume /data/slapd/config:/etc/ldap/slapd.d \
--env LDAP_DOMAIN=example.io \
--env LDAP_ADMIN_PASSWORD=ldap123 \
--name my-openldap --detach osixia/openldap:1.2.5

docker run --network host  --env PHPLDAPADMIN_LDAP_HOSTS=10.2.7.100 --name phpldapadmin \
--detach osixia/phpldapadmin:0.8.0

直接登录 https://10.2.7.100:443 即可,注意这里的 htttps,不是 http

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在本地使用Docker容器搭建个人博客,你可以按照以下步骤进行操作: 1. **选择博客平台和镜像**:首先,你需要选择一个支持部署在Docker环境的博客平台,比如Jekyll、Hexo或WordPress等。确保找一个有官方提供Docker镜像的版本。 2. **下载Docker安装**:如果你还没有安装Docker,访问Docker官网(https://www.docker.com/)下载并安装适合你操作系统的版本。 3. **创建项目文件夹**:在本地创建一个用于存放博客源码的文件夹,例如`myblog`。 4. **克隆或初始化博客代码**:将你选择的博客平台的模板克隆到`myblog`文件夹,或者根据平台文档初始化项目。 5. **编写Dockerfile**:在`myblog`根目录下创建一个名为`Dockerfile`的文件,写入构建镜像的指令,包括设置环境变量、依赖库、复制源码等内容。例如,如果你用的是Jekyll,可能需要指定Ruby版本和依赖包。 ```Dockerfile # 使用官方基础镜像 FROM jekyll/jekyll:latest # 设置工作目录 WORKDIR /app # 将本地源码复制到容器中 COPY . . # 配置Jekyll ENVJEKYLL_ENV production EXPOSE 4000 # 运行Jekyll serve CMD ["jekyll", "serve", "-H", "0.0.0.0"] ``` 6. **构建Docker镜像**:在命令行中切换到`myblog`目录,然后运行`docker build -t myblog .`来根据`Dockerfile`构建镜像。`myblog`是镜像标签,你可以自定义。 7. **运行容器**:使用`docker run -p 4000:4000 --name myblog_container myblog`命令运行容器,并将主机的端口4000映射到容器的4000端口,这样就可以通过localhost:4000访问博客了。 8. **配置和迁移数据**:根据博客平台的具体需求,可能需要配置数据库连接信息并迁移已有的文章数据。 9. **启动和维护**:每次修改源码后,使用`docker-compose up -d`(如果有docker-compose.yml文件)或`docker restart myblog_container`来重新加载并启动容器

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值