我不知道如何在互联网上搜索我的问题...我有以下情况:
我从centos 7 vm构建了基本映像。然后,将其移至我的ldapserver。哪些ldap和phpldapadmin已经安装。我的意图是对我的应用程序进行docker化。所以我创建了以下Dockerfile:
[root@ldapserver ~]# cat /root/ldap_container/dockerfile_ldapserver/Dockerfile
FROM msaka/ldapserver
RUN yum -y install epel-release; yum clean all
RUN yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel; yum clean all
RUN yum -y install phpldapadmin; yum clean all
COPY phpldapadmin.conf /etc/httpd/conf.d/phpldapadmin.conf
COPY hosts /etc/hosts
COPY openldap /etc/openldap
COPY config.php /etc/phpldapadmin/config.php
RUN chown root:apache /etc/phpldapadmin/config.php
正如您从我的基本映像中看到的那样,我安装了openldap,并且phpldapadmin还复制了一些文件以使容器可以正常工作。最后,我用以下命令运行容器:
docker run -p 80:80 -itd ldapserver2 httpd -D FOREGROUND
我没有专用的唱片。从我的主机VM中,我可以访问phpldapadmin的Web界面。我添加一个新用户,测试到ldap_client的连接。工作正常然后我停下容器。
通常,如果您在容器上创建例如文件,然后停止该文件,则除非您提交或分配专用FS,否则您将丢失数据。就我而言,当我再次启动我的图像(不是停止的容器,而是图像)时,使用以下命令:
docker run -p 80:80 -itd ldapserver2 httpd -D FOREGROUND
我看到我的修改在那里。为什么呢我原本希望失去从phpldapadmin容器创建的用户。它不应该因为我没有承诺而消失吗?是否由于更改是在应用程序层上进行而发生的?
另一个奇怪的事情是,当我停止容器并在主机上启动httpd时,我登录到phpldapadmin的Web界面,并且看到了同一用户:))就像容器上发生的更改也会影响我的本地主机。 / p>
感谢您的帮助。