Solución simple para mí: sudo docker-compose up
ACTUALIZACIÓN 2016-3-14: En algún momento del proceso de instalación de docker (¿o docker-compose?) Hay una sugerencia y un ejemplo para agregar su nombre de usuario al grupo "docker". Esto le permite evitar la necesidad de "sudo" antes de todos los comandos de Docker, de esta manera:
~ > docker run -it ubuntu /bin/bash
root@665d1ea76b8d:/# date
Mon Mar 14 23:43:36 UTC 2016
root@665d1ea76b8d:/# exit
exit
~ >
Mire cuidadosamente la salida de los comandos de instalación (tanto docker como la segunda instalación para docker-compose) y encontrará el paso necesario. También se documenta aquí: https://subosito.com/posts/docker-tips/
Sudo? ¡No!
¿Estás cansado de escribir sudo docker cada vez que emites un comando? Sí, hay una manera de lidiar con eso. Aunque, naturalmente, Docker requiere un usuario root, podemos proporcionar un grupo equivalente a la raíz para las operaciones de Docker.
Puede crear un grupo llamado docker, luego agregar el usuario deseado a ese grupo. Después de reiniciar el servicio de docker, el usuario no necesitará escribir sudo cada vez que realice operaciones de docker. ¿Cómo se ve en los comandos de un shell? como raíz, aquí tienes:
> sudo groupadd docker
> sudo gpasswd -a username docker
> sudo service docker restart
¡Hecho!
ACTUALIZACIÓN 2017-3-9
Pasos posteriores a la instalación para Linux
Esta sección contiene procedimientos opcionales para configurar hosts Linux para que funcionen mejor con Docker.
Administrar Docker como usuario no root
El demonio docker se une a un socket Unix en lugar de a un puerto TCP. Por defecto, el socket Unix es propiedad del usuario root y otros usuarios solo pueden acceder a él usando sudo. El docker daemon siempre se ejecuta como usuario root.
Si no desea usar sudo cuando usa el comando docker, cree un grupo Unix llamado docker y agréguele usuarios. Cuando se inicia el dacker de Docker, el grupo de Docker hace que la propiedad del socket de Unix sea leída / editable.
Para crear el grupo de acopladores y agregar su usuario:
# 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
Este comando descarga una imagen de prueba y la ejecuta en un contenedor. Cuando se ejecuta el contenedor, imprime un mensaje informativo y sale.
docker-machine
ejecuta como root? Acabo de llegar aquí con el mismo problema en Ubuntu y fueron los permisos en el zócalo:sudo
funcionó.