Solution simple pour moi: sudo docker-compose up
MISE À JOUR 2016-3-14: À un moment donné du processus d'installation de docker (ou docker-compose?), Il y a une suggestion et un exemple pour ajouter votre nom d'utilisateur au groupe «docker». Cela vous permet d'éviter d'avoir besoin de "sudo" avant toutes les commandes du docker, comme ceci:
~ > docker run -it ubuntu /bin/bash
root@665d1ea76b8d:/# date
Mon Mar 14 23:43:36 UTC 2016
root@665d1ea76b8d:/# exit
exit
~ >
Regardez attentivement la sortie des commandes d'installation (docker et la 2ème installation pour docker-compose) et vous trouverez l'étape nécessaire. Il est également documenté ici: https://subosito.com/posts/docker-tips/
Sudo? Non!
Fatigué de taper sudo docker chaque fois que vous émettez une commande? Ouais, il y a un moyen de gérer ça. Bien que docker nécessite naturellement un utilisateur root, nous pouvons donner un groupe équivalent root pour les opérations de docker.
Vous pouvez créer un groupe appelé docker, puis ajouter l'utilisateur souhaité à ce groupe. Après avoir redémarré le service docker, l'utilisateur n'aura pas besoin de taper sudo à chaque fois qu'il effectue des opérations docker. À quoi cela ressemble-t-il sur une commande shell? en tant que racine, vous y allez:
> sudo groupadd docker
> sudo gpasswd -a username docker
> sudo service docker restart
Terminé!
MISE À JOUR 2017-3-9
Étapes de post-installation pour Linux
Cette section contient des procédures facultatives pour configurer les hôtes Linux afin qu'ils fonctionnent mieux avec Docker.
Gérer Docker en tant qu'utilisateur non root
Le démon docker se lie à un socket Unix au lieu d'un port TCP. Par défaut, ce socket Unix appartient à l'utilisateur root et les autres utilisateurs ne peuvent y accéder qu'en utilisant sudo. Le démon docker s'exécute toujours en tant qu'utilisateur root.
Si vous ne souhaitez pas utiliser sudo lorsque vous utilisez la commande docker, créez un groupe Unix appelé docker et ajoutez-y des utilisateurs. Lorsque le démon docker démarre, il rend la propriété du socket Unix accessible en lecture / écriture par le groupe docker.
Pour créer le groupe Docker et ajouter votre utilisateur:
# 1. Create the docker group.
$ sudo groupadd docker
# 2. Add your user to the docker group.
$ sudo usermod -aG docker $USER
# 3. Log out and log back in so that your group membership is re-evaluated.
# 4. Verify that you can run docker commands without sudo.
$ docker run hello-world
Cette commande télécharge une image de test et l'exécute dans un conteneur. Lorsque le conteneur s'exécute, il imprime un message d'information et se ferme.
docker-machine
tant que root? Je viens de venir ici avec le même problème sur Ubuntu et c'était les autorisations sur le socket - asudo
fait l'affaire.