首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >docker套接字在sssd中的组引导时失败。

docker套接字在sssd中的组引导时失败。
EN

Unix & Linux用户
提问于 2020-11-30 15:12:56
回答 1查看 1.3K关注 0票数 1

我在隔离模式下运行daemon.json,具有:

代码语言:javascript
运行
复制
"group": "devgp",
"userns-remap": "default",

和“devgp”是通过sssd在LDAP中定义的组。这意味着它在系统启动时不知道,直到网络工作和sssd正在运行。

Docker在启动时无法启动,但在启动后可以手动启动。在syslog里我们发现

代码语言:javascript
运行
复制
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.

好的,我需要让码头任务依赖于网络和sssd。因此,我使用以下内容创建/etc/systemd/system/docker.socket.d/override.conf:

代码语言:javascript
运行
复制
[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:

代码语言:javascript
运行
复制
[Unit]
After=sssd.service

但是它仍然不起作用,syslog有以下消息:

代码语言:javascript
运行
复制
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

因此甚至不尝试启动码头。

你知道只有在网络和sssd启动之后,才能让系统启动Docker套接字和服务吗?

EN

回答 1

Unix & Linux用户

发布于 2021-01-21 14:09:09

在FreeIPA环境中,我也遇到了同样的问题。首先,我尝试了一些类似的东西,但是修改了docker.socket --在订购周期中出现了一个错误。最后,我刚在docker.service中添加了这一行,它对我起了作用:

代码语言:javascript
运行
复制
Wants=network-online.target sssd.service

/lib/systemd/system/docker.service

代码语言:javascript
运行
复制
[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
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/622223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档