J'essaie d'exécuter Python Script CGI à l'intérieur duquel j'ai besoin d'exécuter l'image Docker. J'utilise Docker version 1.6.2. L'utilisateur est "www-data", qui est ajouté dans le groupe Docker.
www-data : www-data Sudo docker
Sur la machine, avec www-data je peux exécuter des commandes docker
www-data@mytest:~/html/new$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
J'obtiens l'erreur suivante lors de l'exécution de l'image docker de Python CGI:
fatal msg="Get http:///var/run/docker.sock/v1.18/images/json: dial unix /var/run/docker.sock: permission denied. Are you trying to connect to a TLS-enabled daemon without TLS?"
Y a-t-il quelque chose qui me manque ici?
L'autorisation refusée sur une installation par défaut indique que vous essayez d'accéder au socket à partir d'un utilisateur autre que root ou qui n'est pas dans le groupe Docker. Vous devriez pouvoir exécuter:
Sudo usermod -a -G docker $username
sur votre nom d'utilisateur $ souhaité pour les ajouter au groupe. Vous devrez vous déconnecter et vous reconnecter pour que cela prenne effet (utilisez newgrp docker
dans un shell existant, ou redémarrez le démon s'il s'agit d'un service externe accédant à docker comme vos scripts cgi).
Notez que cette opération donne à cet utilisateur un accès root complet sur votre hôte, alors faites-le avec soin.