Linux執(zhí)行Docker命令提示Get Permission Denied的解決方案
一、問題描述
安裝完docker后,執(zhí)行docker相關命令,出現(xiàn)以下報錯:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied
二、原因分析
摘自 docker mannual 上的一段話,對此異常的說明如下:
Manage Docker as a non-root user
The docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can only access it using sudo. The docker daemon always runs as the root user.
If you don’t want to use sudo when you use the docker command, create a Unix group called docker and add users to it. When the docker daemon starts, it makes the ownership of the Unix socket read/writable by the docker group.
大概的意思就是:
- docker 進程使用 Unix Socket 而不是 TCP 端口。
- 而默認情況下,Unix socket 屬于 root 用戶,需要 root 權(quán)限才能訪問。
三、解決方法1
使用 sudo 獲取管理員權(quán)限,運行 docker 命令時在前面加上 sudo
四、解決方法2
docker 守護進程啟動的時候,會默認賦予名字為 docker 的用戶組讀寫 Unix socket 的權(quán)限,因此只要創(chuàng)建 docker 用戶組,并將當前用戶加入到 docker 用戶組中,那么當前用戶就有權(quán)限訪問 Unix socket 了,進而也就可以執(zhí)行 docker 相關命令了。
具體操作命令如下:
sudo groupadd docker # 添加docker用戶組 sudo gpasswd -a $USER docker # 將登陸用戶加入到docker用戶組中 newgrp docker # 更新用戶組 docker images # 測試docker命令在不加sudo時是否可以使用
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
docker實踐之docker-compose部署mysql方式
這篇文章主要介紹了docker實踐之docker-compose部署mysql方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08docker-compose部署coredns如何實現(xiàn)自建DNS服務
本文介紹了如何在內(nèi)網(wǎng)中使用自建的CoreDNS服務進行域名解析,通過配置Corefile和hosts文件,實現(xiàn)內(nèi)部域名解析,無需在互聯(lián)網(wǎng)上注冊域名,使用docker-compose運行CoreDNS,并通過修改resolv.conf文件配置DNS服務2025-01-01基于Dockerfile創(chuàng)建zabbix監(jiān)控體系代碼實例
這篇文章主要介紹了基于Dockerfile創(chuàng)建zabbix監(jiān)控體系代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-05-05IDEA 集成 docker 實現(xiàn)遠程部署的詳細步驟
使用命令 vim /usr/lib/systemd/system/docker.service登錄docker所在的遠程服務器,本文重點給大家介紹IDEA 集成 docker 實現(xiàn)遠程部署的詳細步驟,需要的朋友參考下吧2021-07-07docker和k8s-coredns內(nèi)部域名解析方式
這篇文章主要介紹了docker和k8s-coredns內(nèi)部域名解析方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-05-05