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