如何在Dockerfile中停止slapd?
我尝试用slapd
和Dockerfile
构build我自己的Docker容器。
安装slapd
是好的,然后我需要停止slapd
为了添加一个自定义的数据库。
为此,我需要在非运行的slapd
上运行slapadd
命令。 尽pipe如此, RUN pkill slapd
产生以下错误:
Step 7 : RUN service slapd start ; ldapadd -Y EXTERNAL -H ldapi:/// -f xxx.ldif ---> Using cache ---> 53e1e1a59517 Step 8 : RUN pkill slapd ---> Running in efc0058a4bfe The command '/bin/sh -c pkill slapd' returned a non-zero code: 1
你知道为什么,怎样才能停止与Dockefile
妥善slapd
?
您正在将您的slapd操作拆分为多个RUN
指令:这是不实际的,因为每个RUN
将创build一个中间容器,并将该容器提交为中间映像。
最好是将所有操作分组到一个脚本中,首先在图像中COPY
,然后RUN
脚本。
这样,在一个中间容器内,你可以启动/停止slapd,添加你的ldif文件,做其他testing, 在中间容器停止之前 ,提交一个新的中间图像。