나를위한 간단한 솔루션 : sudo docker-compose up
업데이트 2016-3-14 : docker 설치 프로세스 (또는 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
~ >
설치 명령 (도커 및 도커 작성을위한 두 번째 설치)의 출력을주의 깊게 살펴보면 필요한 단계를 찾을 수 있습니다. https://subosito.com/posts/docker-tips/ 에도 문서화되어 있습니다.
Sudo? 아니!
명령을 실행할 때마다 sudo docker를 입력하는 데 지치셨습니까? 예, 그것을 처리하는 방법이 있습니다. 당연히 도커에는 루트 사용자가 필요하지만 도커 작업에 대해 루트와 동등한 그룹을 제공 할 수 있습니다.
docker라는 그룹을 만든 다음 해당 그룹에 원하는 사용자를 추가 할 수 있습니다. docker 서비스를 다시 시작한 후 사용자는 docker 작업을 수행 할 때마다 sudo를 입력 할 필요가 없습니다. 쉘 명령에서 어떻게 생겼습니까? 루트로서 여기에 있습니다.
> sudo groupadd docker
> sudo gpasswd -a username docker
> sudo service docker restart
끝난!
업데이트 2017-3-9
Linux 용 설치 후 단계
이 섹션에는 Docker와 더 잘 작동하도록 Linux 호스트를 구성하는 선택적 절차가 포함되어 있습니다.
루트가 아닌 사용자로 Docker 관리
docker 데몬은 TCP 포트 대신 Unix 소켓에 바인딩됩니다. 기본적으로 Unix 소켓은 사용자 루트가 소유하고 다른 사용자는 sudo를 사용해서 만 액세스 할 수 있습니다. docker 데몬은 항상 루트 사용자로 실행됩니다.
docker 명령을 사용할 때 sudo를 사용하지 않으려면 docker라는 Unix 그룹을 만들고 여기에 사용자를 추가합니다. 도커 데몬이 시작되면 도커 그룹이 Unix 소켓의 소유권을 읽고 쓸 수있게됩니다.
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
루트로 실행 합니까 ? 나는 우분투에서 동일한 문제로 여기에 왔고 소켓에 대한 권한이었습니다sudo
.