Linux環境下解決普通用戶調用Docker命令

Linux環境下解決普通用戶調用Docker命令

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.39/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

其他博主的解釋: docker進程使用Unix Socket而不是TCP端口。而默認情況下,Unix socket屬於root用戶,需要root權限才能訪問。

命令權限問題

既然是命令的權限問題,那就有好多中解決方法了,

解決方法1.

直接用root身份來執行, 但只能root執行命令, 感覺怪怪的

解決方法2.

docker守護進程啓動的時候,會默認賦予名字爲docker的用戶組讀寫Unix socket的權限,因此只要創建docker用戶組,並將當前用戶加入到docker用戶組中,那麼當前用戶就有權限訪問Unix socket了,進而也就可以執行docker相關命令

sudo groupadd docker     #添加docker用戶組
sudo gpasswd -a $USER docker     #將登陸用戶加入到docker用戶組中
newgrp docker     #更新用戶組
docker ps    #測試docker命令是否可以使用sudo正常使用

關於作者

聯繫方式 - [email protected]

你也可以通過 github | csdn | @新浪微博 關注我的動態

    如果有任何問題或者建議,歡迎大家評論點贊👍

我的Docker專欄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章