前言
使用docker搭建服務環境,拉取了一個Centos7鏡像,在鏡像中使用systemctl
命令啓動sladpd
服務,已經使用--privileged=true
啓用特權模式,但還是報錯。
docker 啓動命令如下:
docker run -itd --name=ldap --privileged=true -v \
-p 80:80 -p 389:389 centos:7 /usr/sbin/init
錯誤信息
● slapd.service - OpenLDAP Server Daemon
Loaded: loaded (/usr/lib/systemd/system/slapd.service; disabled; vendor preset: disabled)
Active: failed (Result: timeout) since Fri 2020-01-03 05:51:22 UTC; 2min 43s ago
Docs: man:slapd
man:slapd-config
man:slapd-hdb
man:slapd-mdb
file:///usr/share/doc/openldap-servers/guide.html
Jan 03 05:49:45 d5450c0c7b3e systemd[1]: Starting OpenLDAP Server Daemon...
Jan 03 05:49:45 d5450c0c7b3e systemd[1]: New main PID 558 does not belong to service, and PID file is not owned by root. Refusing.
Jan 03 05:49:45 d5450c0c7b3e systemd[1]: New main PID 558 does not belong to service, and PID file is not owned by root. Refusing.
Jan 03 05:51:22 d5450c0c7b3e systemd[1]: slapd.service start operation timed out. Terminating.
Jan 03 05:51:22 d5450c0c7b3e systemd[1]: Failed to start OpenLDAP Server Daemon.
Jan 03 05:51:22 d5450c0c7b3e systemd[1]: Unit slapd.service entered failed state.
Jan 03 05:51:22 d5450c0c7b3e systemd[1]: slapd.service failed.
解決方法:
掛載宿主機cgroup
目錄,啓動時加上-v /sys/fs/cgroup:/sys/fs/cgroup
完整啓動命令如下:
docker run -itd --name=ldap --privileged=true \
-v /sys/fs/cgroup:/sys/fs/cgroup \
-p 80:80 -p 389:389 centos:7 /usr/sbin/init