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)變量,直接使用該語(yǔ)句即可 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)文章
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ì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10docker環(huán)境中websocket?通過nginx代理不通解決方案
這篇文章主要介紹了docker環(huán)境中websocket?通過nginx代理不通解決方案,下面是一些可能會(huì)導(dǎo)致?WebSocket?代理失敗的問題以及相應(yīng)的解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05docker?swarm快速部署redis分布式集群的詳細(xì)過程
這篇文章主要介紹了docker?swarm快速部署redis分布式集群,只需要通過docker-compose.yml文件和一個(gè)啟動(dòng)命令就完成redis分布式部署的方式,讓其分別部署在不同機(jī)器上,并實(shí)現(xiàn)集群搭建,需要的朋友可以參考下2022-10-10Docker容器部署Java項(xiàng)目的自動(dòng)化腳本
這篇文章主要為大家詳細(xì)介紹了Docker容器中部署Java項(xiàng)目的自動(dòng)化腳本編寫,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-04-04使用Docker命令查看容器最后300行實(shí)時(shí)日志
在日常的容器化應(yīng)用管理中,日志是排查問題、監(jiān)控運(yùn)行狀態(tài)的重要工具,Docker 提供了簡(jiǎn)便的命令來查看容器日志,幫助開發(fā)者和運(yùn)維人員快速定位問題,本篇博客將詳細(xì)介紹如何使用 Docker 命令查看指定容器的最后 300 行實(shí)時(shí)日志,需要的朋友可以參考下2025-03-03docker安裝并持久化postgresql數(shù)據(jù)庫(kù)的操作步驟
這篇文章主要介紹了docker安裝并持久化postgresql數(shù)據(jù)庫(kù)的操作步驟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12