docker exec重啓容器內部服務遇到的問題

起因:因爲更改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  ]


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章