Простое решение для меня: sudo docker-compose up
ОБНОВЛЕНИЕ 2016-3-14: В какой-то момент процесса установки docker (или docker-compose?) Есть предложение и пример добавления вашего имени пользователя в группу «docker». Это позволяет вам избежать использования sudo перед всеми командами docker, например:
~ > docker run -it ubuntu /bin/bash
root@665d1ea76b8d:/# date
Mon Mar 14 23:43:36 UTC 2016
root@665d1ea76b8d:/# exit
exit
~ >
Внимательно посмотрите на вывод команд установки (как docker, так и 2-й установки для docker-compose), и вы найдете необходимый шаг. Это также задокументировано здесь: https://subosito.com/posts/docker-tips/
Sudo? Нет!
Надоело вводить sudo docker каждый раз, когда вы вводите команду? Да, есть способ справиться с этим. Хотя, естественно, для docker требуется пользователь root, мы можем предоставить группу, эквивалентную корневому каталогу, для операций docker.
Вы можете создать группу с именем docker, а затем добавить нужного пользователя в эту группу. После перезапуска службы Docker пользователю не нужно будет вводить sudo каждый раз при выполнении операций Docker. Как это выглядит на оболочке команд? как корень, вы идете:
> sudo groupadd docker
> sudo gpasswd -a username docker
> sudo service docker restart
Готово!
ОБНОВЛЕНИЕ 2017-3-9
Действия после установки для Linux
Этот раздел содержит дополнительные процедуры для настройки хостов Linux для лучшей работы с Docker.
Управление Docker от имени пользователя без полномочий root
Демон docker связывается с сокетом Unix вместо порта TCP. По умолчанию этот сокет Unix принадлежит пользователю root, и другие пользователи могут получить к нему доступ только через sudo. Демон docker всегда запускается от имени пользователя root.
Если вы не хотите использовать sudo при использовании команды docker, создайте группу Unix с именем docker и добавьте в нее пользователей. Когда запускается демон docker, он делает владение сокетом Unix доступным для чтения / записи группой docker.
Чтобы создать группу Docker и добавить своего пользователя:
# 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
Эта команда загружает тестовое изображение и запускает его в контейнере. Когда контейнер запускается, он печатает информационное сообщение и завершает работу.
docker-machine
как root? Я только что пришел сюда с той же проблемой на Ubuntu, и это были разрешения на сокете -sudo
сделали свое дело.