docker 容器化搭建 OpenLDAP

docker 容器化搭建 OpenLDAP,第1张

利用 docker 快速搭建一套企业用户目录,包含 OpenLDAP、PhpLdapAdmin

该命令会自动拉取镜像,然后运行容器在后台。

状态都为 Up 即说明容器运行正常:

在浏览器中输入主机 IP 加 8080 端口,可以访问到如下界面:

通过自定义的 admin 账号和密码登录 OpenLDAP:

点击左侧栏的 Create new entry here 进入模板列表:

选择一个模板填入信息即可创建:

在实际工作中,模板其实不需要这么多,通常会定制一个适合自己场景的模板。

比如定制一个更轻量的用户账号模板:

该模板采用 xml 编写,上图的模板 xml 如下:

将其放入 PhpLdapAdmin 模板目录:

再次刷新模板列表页面即可看到它被加载:

或者直接挂载模板目录,使得模板列表中只显示自定义的模板,页面更简洁,修改 docker-composeyaml 中的最后两行,添加定义 ldap-phpldapadmin 的挂载目录:

重新运行 docker-compose 命令:

ldap-phpldapadmin 容器会自动重新创建:

再次访问 PhpLdapAdmin 页面,需要重新登录,登录后点击创建链接进如模板列表页面,只会看到自己定义的模板:

1 这里使用的centos作为容器,所以首先下载centos的images
[plain] view plain copy
# sudo docker pull centos
2 下载后运行一个centos的容器,这里使用centos6作为我测试的容器
[plain] view plain copy
# sudo docker run --name=centos-ssh -i -t centos:centos6 /bin/bash
3 安装openssh-server服务软件包
[plain] view plain copy
# yum install openssh-server
4 编辑sshd的配置文件/etc/ssh/sshd_config,将其中UsePAM参数设置成“no”
5 启动sshd服务
[plain] view plain copy
# /etc/initd/sshd start
6 添加测试用户admin,密码admin
[plain] view plain copy
# useradd admin
# echo 'admin:admin' | chpasswd
7 为了使新添加的用户可以运行sudo命令,需要安装sudo软件包,并将admin添加到sudoers里
[plain] view plain copy
# yum install sudo <--安装sudo软件包
# visudo <--编辑sudoers,添加下面的行到文件里

admin ALL=(ALL) ALL
8 测试,做完上面工作之后,使用ifconfig来查看一下容器的ip,或者使用“sudo docker inspect ”查看,然后就可以在宿主机器上通过ssh admin@<ip>来访问新创建的docker容器了。
9 如果想要把做好的支持ssh服务的容器作为一个docker的镜像,先退出容器,然后使用下面的命令来创建
[plain] view plain copy
# sudo docker commit <container id> <image name>

Docker这一容器化技术目前正处于新浪潮的中心,这一浪潮波及了应用的构建、打包和部署。它有可能影响计算机技术的方方面面,从应用程序的开发流程到应用程序如何部署以及跨大规模数据中心进行垂直和水平扩展。

尽管Docker非常流行,但它依然是一个非常新的项目,许多人并没有真正理解什么是Docker。 如果你也是其中一员,那么本书会帮你迈出第一步,并让你见识到容器化所承诺的巨大潜力。我的目标是通过本书引领你进入容器化的世界,这些目标可以概括为以下几种方式:

随着阅读的深入,读者将看到运行、调查、停止和启动、保存以及管理容器的具体方法。开始创建容器时,我讨论了一些技巧,这些技巧将有助于读者创建高效地构建和运行的容器镜像。我还将带读者逐步研究其他人为了生成自己的容器而创建的构建文件(其被称为Dockerfile)。

对于刚开始使用Docker容器的人来说,本书要从头至尾地阅读。之后,它可以当作参考资料,提示你与Docker容器相关的不同选项和特性。本书内容分成5个部分。

第一部分开启容器之旅

在第一部分中,将学习开始使用Docker容器所需了解的知识。第1章将描述什么是容器,以及容器与非容器化应用的差别。在第2章中,将学习如何在通用Liunx系统( 如Fedora和Ubuntu)以及面向容器的特定Linux系统(如CoreOS和Project Atomic)上安装Docker。在第3章中,我们将展示如何通过配置私有Dockerregistry来保存自己的Docker镜像,以此来完成一个基本的容器设置。

第二部分玩转单个容器

这部分主要涉及通过docker命令直接使用单个容器。第4章中将展示如何运行你的第一个容器镜像。为了帮你查找并获取容器镜像,第5章会描述如何从Docker registry搜索容器镜像,然后拉取想要的镜像,将它保存到文件,并将该镜像加载到其他Docker系统中。

第6章中将学习如何为镜像添加标签,从而更好地识别镜像所包含的内容,并利用这些信息将镜像推送到regstry第7章中将展示如何探查容器或容器镜像的内部,看一下容器或镜像工作方式的细节。第8章中将学习如何停止、启动和重启容器。第9章中将学习如何通过将宿主机的目录挂载到容器中来配置存储。为了学习如何配置容器的网络,第10章将描述如何配置Docker服务通常使用的默认网络(或不使用网络),以及运行容器的人为单个容器配置网络接口的方法。

为了可能的重用,Docker缓存了大量数据。第11章将展示如何清理创建或者运行容器镜像时遗留下来的缓存数据。第12章将学习如何构建Docker容器,包括高效构建并运行的容器是如何创建的。

第三部分在云环境 上运行容器

第13章将描述如何运行所谓的超级特权容器( super privileged container, SPC)。为了阐述超级特权容器如何工作,我会展示怎样获取那些可以在RHELAtomic系统上完成不同管理任务的镜像。第14章将描述如何使用Cockpit (基于Web的容器管理工具)在云环境或者本地环境下跨多个宿主机管理容器。

第四部分管理多容器

在这一部分,我们将探究容器的编排。第15章将描述如何在一个系统中使用Kubernates的master和node服务,以便能够尝试Kubernetes。第16章我们将超越一体化Kubernetes系统,描述如何搭建Kubernetes集群。在Kubernetes集群就位后,可以通过master计算机将容器pod中的应用部署到不同的node计算机上进行管理。

第五部分开发容器

在Docker出现的很短的一-段时间里,能够更加高效地构建容器的技术就已经被开发出来了。第17章将描述一些开发Docker容器的建议和技巧。最后,第18章通过展示我接触的一些Dockerfile文件阐述不同的人是如何克服障碍来构建他们自己的容器的。如果已经准备好了,马上开始阅读第1章吧。希望你喜欢这本书!

最后,需要免费领取这份docker学习文档的朋友,可以帮忙点赞评论一下文章,关注私信资料即可免费获取哦!

步骤1:为我们的容器创建第一个镜像
# 以 centos 镜像作为基础镜像,我们启动自己的容器并在其中执行/bin/bash命令
# 注:-t -i 参数用于创建一个虚拟的命令行。
sudo docker run -t -i centos /bin/bash
现在我们已经成功的运行了自己的第一个容器,并且进入到容器的命令行界面中。在容器中,我们执行下面的命令:
yum -y update # 更新软件包
yum install which # 安装which命令
yum install git # 安装Git
安装完成后,按 Ctrl + d 来退出容器的命令行。
# 执行sudo docker ps -a,可以看到被我们终止的容器
CONTAINER ID IMAGE COMMAND CREATED……
da9031d3568f centos:64 /bin/bash 5 minutes ago…
把我们所做的改变提交到一个新的容器:
# 这里我们创建一个自己的基础容器,容器中安装好了文章中所需的常用工具。读者的容器 id 可能与文章中的有所不同,以上一步 docker ps -a 的结果为准。
sudo docker commit da90 custom/base
容器成功提交后,执行 sudo docker images ,我们会看到刚才提交的容器(如下面的结果所示)。我们就以这个容器为基础容器,再来创建一个新的容器。
REPOSITORY TAG IMAGE ID CREATED
custom/base latest 05b6cecd370b 2 minutes ago
centos 64 539c0211cd76 10 months ago
centos latest 539c0211cd76 10 months ago…
步骤2:创建新的容器,并安装 apache
# 以 custom/base 容器为基础,运行一个新的容器。
sudo docker run -t -i custom/base /bin/bash
# 安装 >Docker容器运行后,如何进入容器进行 *** 作呢?起初我是用SSH。如果只启动一个容器,用SSH还能应付,只需要将容器的22端口映射到本机的一个端口即可。当我启动了五个容器后,每个容器默认是没有配置SSH Server的,安装配置SSHD,映射容器SSH端口,

1 安装 Docker在开始前,我们首先得确保在Linux主机中已经安装了Docker。这里,我运行的是CentOS 7 主机,我们将运行yum管理器和下面的命令来安装Docker。# yum install docker# systemctl restart dockerservice2 创建 Dockerfile现在,Docker守护进程已经在运行中了,我们现在准备创建自己的Firefox Docker容器。我们要创建一个Dockerfile,在其中我们要输入需要的配置来创建一个可以工作的Firefox容器。为了运行 Docker 镜像我们需要使用最新版本的CentOS。要创建 Docker 镜像,我们需要用文本编辑器创建一个名为Dockerfile的文件。# nano Dockerfile

检测 docker 镜像

1
2
3
4

[root@karan-ws ~]# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
dockerio/centos latest fd44297e2ddb 5 weeks ago 2157 MB
[root@karan-ws ~]#
创建 Docker 容器

1
2
3

[root@karan-ws ~]# docker create -ti --name="mona" centos bash
c7f9eb6b32eba38242b9d9ced309314f8eee720dbf29c656885aa0cbfff15aa6
[root@karan-ws ~]#
开启你的 Docker 容器

1

# docker start mona
从你新创建的 Docker 容器中获取 IP 地址

1
2
3

[root@karan-ws ~]# docker inspect mona | grep -i ipaddress
"IPAddress": "1721701",
[root@karan-ws ~]#


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/13372832.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-23
下一篇 2023-07-23

发表评论

登录后才能评论

评论列表(0条)

保存