Dockerfile LDAP 更新未保存

Dockerfile LDAP updates not saved

我正在尝试创建 docker 从基本图像扩展而来的图像并进行一些调整。添加文件工作正常,但 运行 命令不保存。我一直在查看我正在扩展的图像的 Dockerfile,但我 none 更聪明。

我的 Dockerfile:

FROM openmicroscopy/apacheds:latest

ADD *.ldif /etc/ldifs/
ADD addall.sh /etc/ldifs/addall.sh

RUN /bin/bash /etc/ldifs/addall.sh

bash 脚本:

#!/bin/bash/

/run.sh &
sleep 20

for file in /etc/ldifs/*.ldif
do
    ldapadd -v -h localhost:10389 -c -x -D uid=admin,ou=system -w secret -f "$file"
done

有没有人知道如何将项目添加到 ldap 并将其保存为图像?

这行不通,在构建映像时,服务器未启动。您可以创建 bash 在容器 启动 时启动的脚本,您可以在其中 运行 导入。

entrypoint.sh

# check if ldap import already done

# if not - import
for file in /etc/ldifs/*.ldif
do
    ldapadd -v -h localhost:10389 -c -x -D uid=admin,ou=system -w secret -f "$file"
done

# if yes - don't import