docker命令中必須加上sudo的問題解決方法
1、問題背景
初次使用docker時,安裝后通過終端進(jìn)行docker命令時必須加上root權(quán)限,否則將會報錯,如下所示:
問題原因和相應(yīng)的解決方法在官方網(wǎng)站中有文檔解釋:
2、問題原因
docker提供服務(wù)的后臺守護(hù)進(jìn)程是綁定至一個Unix socket上而非TCP端口上,而通常這個Unix socket只能由root用戶使用,普通權(quán)限的用戶使用時必須加上 sudo 命令
3、解決方法
知道原因以后,解決方法就顯而易見了:讓當(dāng)前用戶有使用Unix socket的權(quán)限具體做法是創(chuàng)建一個名叫 docker 的Unix用戶組,并且把當(dāng)前用戶添加進(jìn)去,當(dāng)docker守護(hù)進(jìn)程啟動創(chuàng)建Unix socket時就會自動令該組下的所有成員能夠進(jìn)行訪問
sudo groupadd docker sudo usermod -aG docker $USER #此處的USER是系統(tǒng)變量,直接使用該語句即可 newgrp docker
通過上述方法可能會令當(dāng)前用戶擁有root權(quán)限,所以應(yīng)當(dāng)謹(jǐn)慎使用,具體風(fēng)險如下:
https://docs.docker.com/engine/security/#docker-daemon-attack-surface
大家可以看一看官方文檔,里面也列舉了可能會遇到的其他問題
Attention
雖然這樣做可以在輸入docker命令時不用加sudo,但并非對于所有命令都有效,如:
docker login ... or docker push ...
如果使用上述方法后執(zhí)行docker命令發(fā)現(xiàn)奇怪的報錯,可以先使用sudo再嘗試執(zhí)行一次
到此這篇關(guān)于docker命令中必須加上sudo的問題解決方法的文章就介紹到這了,更多相關(guān)docker命令必須加上sudo 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IDEA集成Docker實(shí)現(xiàn)一鍵部署的詳細(xì)過程
這篇文章主要介紹了IDEA集成Docker實(shí)現(xiàn)一鍵部署,Docker基于Windows集成IDEA,本文分步驟通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08如何使用 docker compose 搭建 fastDFS文件服務(wù)器
這篇文章主要介紹了如何使用 docker compose 搭建 fastDFS文件服務(wù)器,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-10-10docker環(huán)境中websocket?通過nginx代理不通解決方案
這篇文章主要介紹了docker環(huán)境中websocket?通過nginx代理不通解決方案,下面是一些可能會導(dǎo)致?WebSocket?代理失敗的問題以及相應(yīng)的解決方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-05-05docker?swarm快速部署redis分布式集群的詳細(xì)過程
這篇文章主要介紹了docker?swarm快速部署redis分布式集群,只需要通過docker-compose.yml文件和一個啟動命令就完成redis分布式部署的方式,讓其分別部署在不同機(jī)器上,并實(shí)現(xiàn)集群搭建,需要的朋友可以參考下2022-10-10docker安裝并持久化postgresql數(shù)據(jù)庫的操作步驟
這篇文章主要介紹了docker安裝并持久化postgresql數(shù)據(jù)庫的操作步驟,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12