J'ai ajouté un utilisateur non root dans le groupe docker et un autre service exécuté lorsque cet utilisateur non root se connecte au démon docker. mais le service ne peut pas fonctionner. Je fais un exemple de test pour cela:
root@# systemctl start docker.service
root@# gpasswd -a tiger docker
créer un service systemd dans tiger:
[Service]
ExecStart=/home/tiger/connectdocker
Restart=always
StartLimitInterval=0
Delegate=true
KillMode=process
[Install]
WantedBy=default.target
la /home/tiger/connectdocker
présente comme suit:
docker run -itd busybox 2> connectdocker.log
démarrer ce service:
tiger@# systemctl --user enable connectdocker.service
tiger@# systemctl --user start connectdocker.service
et le résultat:
Thu Jul 21 00:59:15 CST 2016
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
mais je peux me connecter à docker.sock avec tiger:
tiger@# docker run -itd busybox
997e99f959cfd5500319935ec17677775da9d367d203a11efef8b42161c3ee64
pour prouver cela, je change le /var/run/docker.sock
groupe de docker en tigre, et le service connectdocker peut se connecter au démon docker.
changer /var/run/docker.sock
:
ls -l /run/docker.sock
srw-rw---- 1 root docker 0 Jul 21 00:33 /run/docker.sock
à:
ls -l /run/docker.sock
srw-rw---- 1 root tiger 0 Jul 21 00:33 /run/docker.sock