Ho aggiunto un utente non root nel gruppo docker e un altro servizio eseguito mentre questo utente non root si collega al daemon docker. ma il servizio non può funzionare. Faccio un esempio di prova per questo:
root@# systemctl start docker.service
root@# gpasswd -a tiger docker
creare un servizio systemd in tigre:
[Service]
ExecStart=/home/tiger/connectdocker
Restart=always
StartLimitInterval=0
Delegate=true
KillMode=process
[Install]
WantedBy=default.target
la /home/tiger/connectdocker
in questo modo:
docker run -itd busybox 2> connectdocker.log
avviare questo servizio:
tiger@# systemctl --user enable connectdocker.service
tiger@# systemctl --user start connectdocker.service
e il risultato:
Thu Jul 21 00:59:15 CST 2016
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
ma posso collegarmi a docker.sock con tiger:
tiger@# docker run -itd busybox
997e99f959cfd5500319935ec17677775da9d367d203a11efef8b42161c3ee64
per dimostrarlo, cambio il /var/run/docker.sock
gruppo da docker a tiger e il servizio connectdocker può connettersi al demone docker.
cambiare /var/run/docker.sock
:
ls -l /run/docker.sock
srw-rw---- 1 root docker 0 Jul 21 00:33 /run/docker.sock
per:
ls -l /run/docker.sock
srw-rw---- 1 root tiger 0 Jul 21 00:33 /run/docker.sock