起因:因为更改ldap域名,老的ldap服务器还是不断有请求发过来,经过排查发现是虚拟机的nslcd发过来的请求,但是nslcd服务配置中配置的是域名而不是ldap的ip地址,试了一下,重启服务才能去连接新的ldap服务,但是由于虚拟机众多,一个一个执行时灰常傻X的,所以打算用docker exec来循环执行,但是执行遇到了问题,如下
[root@VM-1-10-11 ~]# for i in tianpei.wang_172.16.162.105; do docker exec -i $i /etc/init.d/nslcd restart; done
Stopping nslcd: [FAILED]
Starting nslcd: nslcd: daemon may already be active, cannot acquire lock (/var/run/nslcd/nslcd.pid): Permission denied
[FAILED]
权限不够
解决方法:用bash来执行标准输入,问题解决
[root@VM-1-10-11 ~]# for i in tianpei.wang_172.16.162.105; do echo ‘/etc/init.d/nslcd restart‘|docker exec -i $i bash; done
Stopping nslcd: [ OK ]
Starting nslcd: [ OK ]
原文地址:http://peitianwang.blog.51cto.com/7179782/1905029