root以外のユーザーはdockerを使用する権限がありません


docker run実行時プロンプトno permission


centosにdockerをインストールする公式ドキュメントdocker-ceをインストールするときにdockerユーザーグループが自動的に作成されましたが、dockerユーザーグループ$ sudo usermod -aG docker $USERまたは$ sudo usermod -aG docker { }に手動でユーザーを追加する必要がありますが、dockerユーザーグループにユーザーを追加した後も、ubuntu 14.04のbashを実行するようにno permissionにプロンプトします.
[hsowan@localhost shell-workspace]$ docker run -it --rm ubuntu:14.04 bash
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.38/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

why? なぜなら、ユーザはdockerユーザグループに加入しているが、現在dockerユーザグループに切り替えられていないため、1人のユーザが同時に複数のユーザグループに属している場合、ユーザは他のユーザグループの権限を持つようにユーザグループ間で切り替えることができるからである.$ newgrp docker root以外のユーザーでdocker関連のコマンドを実行できるようになりました

ユーザーにユーザーグループを追加する以外に、root以外のユーザーがdocker関連のコマンドを実行できる方法はありますか?


OK、じゃあ/var/run/docker.を見てみましょう.sockの権限$ sudo ll /var/run/docker.sockは、次の結果を得る.
srw-rw----. 1 root docker 0 Sep 22 15:29 /var/run/docker.sock
/var/run/docker.sockの権限$ sudo chmod 666 /var/run/docker.sockを直接変更すると、root以外のユーザーの下でdockerを実行できます.
$ docker run -it --rm ubuntu:14.04 bash
root@5c60abab6425:/# cat /etc/os-release 
NAME="Ubuntu"
VERSION="14.04.5 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.5 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
root@5c60abab6425:/# exit
exit