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

おすすめ記事