docker命令中必須加上sudo的問題解決方法
1、問題背景
初次使用docker時(shí),安裝后通過終端進(jìn)行docker命令時(shí)必須加上root權(quán)限,否則將會(huì)報(bào)錯(cuò),如下所示:

問題原因和相應(yīng)的解決方法在官方網(wǎng)站中有文檔解釋:
2、問題原因
docker提供服務(wù)的后臺(tái)守護(hù)進(jìn)程是綁定至一個(gè)Unix socket上而非TCP端口上,而通常這個(gè)Unix socket只能由root用戶使用,普通權(quán)限的用戶使用時(shí)必須加上 sudo 命令
3、解決方法
知道原因以后,解決方法就顯而易見了:讓當(dāng)前用戶有使用Unix socket的權(quán)限具體做法是創(chuàng)建一個(gè)名叫 docker 的Unix用戶組,并且把當(dāng)前用戶添加進(jìn)去,當(dāng)docker守護(hù)進(jìn)程啟動(dòng)創(chuàng)建Unix socket時(shí)就會(huì)自動(dòng)令該組下的所有成員能夠進(jìn)行訪問
sudo groupadd docker sudo usermod -aG docker $USER #此處的USER是系統(tǒng)變量,直接使用該語句即可 newgrp docker
通過上述方法可能會(huì)令當(dāng)前用戶擁有root權(quán)限,所以應(yīng)當(dāng)謹(jǐn)慎使用,具體風(fēng)險(xiǎn)如下:
https://docs.docker.com/engine/security/#docker-daemon-attack-surface
大家可以看一看官方文檔,里面也列舉了可能會(huì)遇到的其他問題
Attention
雖然這樣做可以在輸入docker命令時(shí)不用加sudo,但并非對(duì)于所有命令都有效,如:
docker login ... or docker push ...
如果使用上述方法后執(zhí)行docker命令發(fā)現(xiàn)奇怪的報(bào)錯(cuò),可以先使用sudo再嘗試執(zhí)行一次
到此這篇關(guān)于docker命令中必須加上sudo的問題解決方法的文章就介紹到這了,更多相關(guān)docker命令必須加上sudo 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用 Azure Container Registry 儲(chǔ)存鏡像的問題
Azure Container Registry(容器注冊(cè)表)是基于 Docker Registry 2.0規(guī)范的托管專用 Docker 注冊(cè)表服務(wù)。這篇文章主要介紹了使用 Azure Container Registry 儲(chǔ)存鏡像,需要的朋友可以參考下2021-05-05
docker安裝sftp并實(shí)現(xiàn)文件上傳
本文詳細(xì)介紹使用Docker快速部署SFTP服務(wù),包括查詢鏡像、啟動(dòng)服務(wù)、多用戶配置及宿主機(jī)目錄映射等步驟,具有一定的參考價(jià)值,感興趣的可以了解一下2025-07-07
一次wsl2+docker無法運(yùn)行的經(jīng)歷實(shí)戰(zhàn)記錄
這篇文章主要介紹了在使用WSL2和Docker?Desktop時(shí)遇到的錯(cuò)誤,并提供了解決方案,錯(cuò)誤可能是由于自定義WSL內(nèi)核導(dǎo)致的,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-05-05
Docker安裝配置Oracle詳細(xì)步驟記錄(以作持久化處理)
docker是一個(gè)用Go語言實(shí)現(xiàn)的開源項(xiàng)目,可以讓我們方便的創(chuàng)建和使用容器,下面這篇文章主要給大家介紹了關(guān)于Docker安裝配置Oracle詳細(xì)步驟的相關(guān)資料,需要的朋友可以參考下2024-03-03
親手教你Docker Compose安裝DOClever的詳細(xì)過程
DOClever是一個(gè)可視化免費(fèi)開源的接口管理工具,DOClever前后端全部采用了javascript來作為我們的開發(fā)語言。這篇文章主要介紹了Docker Compose安裝DOClever的詳細(xì)過程,需要的朋友可以參考下2021-09-09

