Proste rozwiązanie dla mnie: sudo docker-compose up
UPDATE 2016-3-14: W pewnym momencie procesu instalacji dockera (lub docker-compose?) Pojawia się sugestia i przykład dodania nazwy użytkownika do grupy „docker”. Pozwala to uniknąć konieczności używania „sudo” przed wszystkimi poleceniami dockera, na przykład:
~ > docker run -it ubuntu /bin/bash
root@665d1ea76b8d:/# date
Mon Mar 14 23:43:36 UTC 2016
root@665d1ea76b8d:/# exit
exit
~ >
Przyjrzyj się uważnie wynikom poleceń instalacji (zarówno docker, jak i 2nd install dla docker-compose), a znajdziesz niezbędny krok. Jest to również udokumentowane tutaj: https://subosito.com/posts/docker-tips/
Sudo? Nie!
Masz dość wpisywania sudo docker za każdym razem, gdy wydajesz polecenie? Tak, jest sposób, aby sobie z tym poradzić. Chociaż w naturalny sposób docker wymaga użytkownika root, możemy podać równoważną mu grupę dla operacji docker.
Możesz utworzyć grupę o nazwie docker, a następnie dodać żądanego użytkownika do tej grupy. Po ponownym uruchomieniu usługi docker użytkownik nie będzie musiał wpisywać sudo za każdym razem, gdy wykonuje operacje docker. Jak to wygląda na poleceniach powłoki? jako root, proszę bardzo:
> sudo groupadd docker
> sudo gpasswd -a username docker
> sudo service docker restart
Gotowe!
UPDATE 2017-3-9
Kroki poinstalacyjne dla systemu Linux
Ta sekcja zawiera opcjonalne procedury konfigurowania hostów systemu Linux do lepszej współpracy z platformą Docker.
Zarządzaj Dockerem jako użytkownik inny niż root
Demon Dockera wiąże się z gniazdem Unix zamiast z portem TCP. Domyślnie właścicielem gniazda Unix jest użytkownik root, a inni użytkownicy mogą uzyskać do niego dostęp tylko za pomocą sudo. Demon Dockera zawsze działa jako użytkownik root.
Jeśli nie chcesz używać sudo podczas korzystania z polecenia docker, utwórz grupę uniksową o nazwie docker i dodaj do niej użytkowników. Kiedy demon Dockera uruchamia się, umożliwia grupie docker prawo własności gniazda Unix do odczytu / zapisu.
Aby utworzyć grupę Dockera i dodać użytkownika:
# 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
To polecenie pobiera obraz testowy i uruchamia go w kontenerze. Gdy kontener jest uruchomiony, wyświetla komunikat informacyjny i kończy pracę.
docker-machine
jako root? Właśnie przyszedłem tutaj z tym samym problemem na Ubuntu i to były uprawnienia w gnieździe - załatwiły sprawęsudo
.