sssd에서 그룹 시작 시 docker 소켓이 실패함

sssd에서 그룹 시작 시 docker 소켓이 실패함

격리 모드에서 docker를 실행 중이고 daemon.json에는 다음이 있습니다.

"group": "devgp",
"userns-remap": "default",

'devgp'는 sssd를 통해 LDAP에 정의된 그룹입니다. 이는 네트워크가 작동하고 sssd가 실행될 때까지 시스템이 부팅 시 이를 인식하지 못한다는 것을 의미합니다.

Docker가 부팅 시 시작되지 않지만 이후에는 수동으로 정상적으로 시작됩니다. 우리가 발견한 시스템 로그에서

Nov 29 18:30:18 dotter systemd: Failed to chown socket at step GROUP: No such process
Nov 29 18:30:18 dotter systemd: docker.socket control process exited, code=exited status=216
Nov 29 18:30:18 dotter systemd: Failed to listen on Docker Socket for the API.
Nov 29 18:30:18 dotter systemd: Dependency failed for Docker Application Container Engine.
Nov 29 18:30:18 dotter systemd: Job docker.service/start failed with result 'dependency'.
Nov 29 18:30:18 dotter systemd: Unit docker.socket entered failed state.

좋아요, 그러면 도커 작업을 네트워크와 SSD에 종속되게 만들어야 합니다. 그래서 내가 만들어/etc/systemd/system/docker.socket.d/override.conf그리고:

[Unit]
After=network-online.target firewalld.service containerd.service sssd.service
Wants=network-online.target sssd.service

[Socket]
SocketGroup=qtim

그리고 창조하다/etc/systemd/system/docker.service.d/override.conf그리고:

[Unit]
After=sssd.service

하지만 여전히 작동하지 않습니다. 시스템 로그에 다음 메시지가 있습니다.

Nov 30 08:02:37 dotter systemd: Found ordering cycle on sockets.target/start
Nov 30 08:02:37 dotter systemd: Found dependency on docker.socket/start
Nov 30 08:02:37 dotter systemd: Found dependency on firewalld.service/start
Nov 30 08:02:37 dotter systemd: Found dependency on basic.target/start
Nov 30 08:02:37 dotter systemd: Found dependency on sockets.target/start
Nov 30 08:02:37 dotter systemd: Breaking ordering cycle by deleting job docker.socket/start
Nov 30 08:02:37 dotter systemd: Job docker.socket/start deleted to break ordering cycle starting with sockets.target/start

그러니 Docker를 시작하려고 하지 마세요.

네트워크와 sssd가 가동된 후에만 systemd가 Docker 소켓과 서비스를 시작하도록 하는 마법을 알고 계십니까?

답변1

FreeIPA 환경에서도 같은 문제가 발생했습니다. 먼저 비슷한 것을 시도했지만 수정했습니다.도커.소켓주문 주기와 관련하여 오류가 발생했습니다. 마지막으로 방금 이 줄을 추가했습니다.도커.서비스이것은 나에게 효과적입니다.

Wants=network-online.target sssd.service

/lib/systemd/system/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target sssd.service
Requires=docker.socket containerd.service

관련 정보