티스토리 뷰

반응형

Docker사용시 su권한으로 실행하지 않으면 아래와 같은 오류를 보는 경우가 있습니다.

$ docker run -d -p 1234:6379 redis
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create": dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

실행중인 Docker에 사용자의 접근 권한이 없어서 발생하는 문제입니다.

 

현재 로그인 중인 사용자 계정을 Docker에 접근 가능하도록 해보겠습니다.

$ sudo usermod -aG docker $USER
$ sudo chmod 666 /var/run/docker.sock

$USER는 현재 로그인한 사용자 계정을 의미합니다. 다른 계정을 추가하고자 할 때는 해당 계정으로 로그인을 해서 실행하거나, 계정명을 지정해서 실행합니다.

 

(위 이전 내용에서는 두번째 줄에 $ sudo chown $USER /var/run/docker.sock였으나, 여러 계정에서 접근하기에는 적합하지 않다고 생각되어 변경하였습니다.)

 

 

다시 Docker를 실행해보면 잘되는 것을 확인할 수 있습니다.

$ docker run -d -p 1234:6379 redis
Unable to find image 'redis:latest' locally
latest: Pulling from library/redis
7d63c13d9b9b: Pull complete
a2c3b174c5ad: Pull complete
283a10257b0f: Pull complete
7a08c63a873a: Pull complete
0531663a7f55: Pull complete
9bf50efb265c: Pull complete
Digest: sha256:a89cb097693dd354de598d279c304a1c73ee550fbfff6d9ee515568e0c749cfe
Status: Downloaded newer image for redis:latest
eb782fcc30a0e911bbe72dec0cf39d91428fb58b2eef846e25a243d2c1be199a

 

반응형