小编yon*_*ang的帖子

systemd 用户无法获取用户组的能力

我在 docker 组中添加了一个非 root 用户,并在这个非 root 用户连接到 docker 守护进程时运行了另一个服务。但服务无法工作。我为此做了一个测试示例:

root@# systemctl start docker.service 
root@# gpasswd -a tiger docker
Run Code Online (Sandbox Code Playgroud)

在tiger中创建一个systemd服务:

[Service]
ExecStart=/home/tiger/connectdocker
Restart=always
StartLimitInterval=0
Delegate=true
KillMode=process
[Install]
WantedBy=default.target
Run Code Online (Sandbox Code Playgroud)

/home/tiger/connectdocker这样的:

docker run -itd busybox 2> connectdocker.log
Run Code Online (Sandbox Code Playgroud)

启动这个服务:

tiger@# systemctl --user enable connectdocker.service
tiger@# systemctl --user start connectdocker.service
Run Code Online (Sandbox Code Playgroud)

结果:

Thu Jul 21 00:59:15 CST 2016
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Run Code Online (Sandbox Code Playgroud)

但我可以用 Tiger 连接到 docker.sock :

tiger@# docker run -itd busybox
997e99f959cfd5500319935ec17677775da9d367d203a11efef8b42161c3ee64
Run Code Online (Sandbox Code Playgroud)

为了证明这一点,我将 …

users systemd group docker

9
推荐指数
1
解决办法
766
查看次数

标签 统计

docker ×1

group ×1

systemd ×1

users ×1