如何免sudo使用docker命令詳解
背景
Docker是PaaS供應(yīng)商dotCloud開源的一個(gè)基于LXC 的高級(jí)容器引擎,源代碼托管在 GitHub 上, 基于Go語言開發(fā)并遵從Apache 2.0協(xié)議開源。Docker提供了一種在安全、可重復(fù)的環(huán)境中自動(dòng)部署軟件的方式,它的出現(xiàn)拉開了基于云計(jì)算平臺(tái)發(fā)布產(chǎn)品方式的變革序幕。
對(duì)Linux系統(tǒng)管理員或高級(jí)用戶而言,sudo是必不可少的最重要的命令之一。而因?yàn)槭褂玫氖莝udo安裝docker,所以會(huì)導(dǎo)致一個(gè)問題。以普通用戶登錄的狀況下,在使用 docker images 時(shí)必須添加 sudo ,那么如何讓docker免 sudo 依然可用呢?于是開始搜索解決方案。
理清楚問題
當(dāng)以普通用戶身份去使用 docker images 時(shí),出現(xiàn)以下錯(cuò)誤:
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
可以看都,最后告知我們時(shí)權(quán)限的問題。那么在linux文件權(quán)限有三個(gè)數(shù)據(jù)左右 drwxrwxrwx ,
其中第一為 d 代表該文件是一個(gè)文件夾
前三位、中三位、后三位分別代表這屬主權(quán)限、屬組權(quán)限、其他人權(quán)限。
如圖,其中 第三列、第四列分別代表文件的屬主、屬組。
上圖是報(bào)錯(cuò)文件的權(quán)限展示,可以看到其屬主為 root ,權(quán)限為 rw ,可讀可寫;其屬組為 docker ,權(quán)限為 rw ,可讀可寫。如果要當(dāng)前用戶可直接讀取該文件,那么我們就為當(dāng)前用戶添加到 docker 屬組即可。
如果還沒有 docker group 就添加一個(gè):
sudo groupadd docker
將用戶加入該 group 內(nèi)。然后退出并重新登錄就生效啦。
sudo gpasswd -a ${USER} docker
重啟 docker 服務(wù)
sudo service docker restart
切換當(dāng)前會(huì)話到新 group 或者重啟 X 會(huì)話
newgrp - docker
注意:最后一步是必須的,否則因?yàn)?groups 命令獲取到的是緩存的組信息,剛添加的組信息未能生效,所以 docker images 執(zhí)行時(shí)同樣有錯(cuò)。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Docker構(gòu)建簡(jiǎn)單的個(gè)人主頁網(wǎng)站實(shí)戰(zhàn)教程
Docker是一種開源容器化技術(shù),可以打包、發(fā)布和運(yùn)行應(yīng)用程序,本教程介紹了如何使用Docker構(gòu)建一個(gè)簡(jiǎn)單的個(gè)人主頁網(wǎng)站,通過編寫Dockerfile來自定義鏡像,并展示了如何通過傳入環(huán)境變量來動(dòng)態(tài)更改網(wǎng)頁內(nèi)容,項(xiàng)目使用的技術(shù)包括Docker、Alpine、Nginx、HTML、CSS和JavaScript2024-10-10docker內(nèi)服務(wù)訪問宿主機(jī)服務(wù)的實(shí)現(xiàn)
本文主要介紹了docker內(nèi)服務(wù)訪問宿主機(jī)服務(wù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10Ubuntu使用Docker部署Redis并實(shí)現(xiàn)遠(yuǎn)程訪問本地?cái)?shù)據(jù)庫全過程
這篇文章主要給大家介紹了關(guān)于Ubuntu使用Docker部署Redis并實(shí)現(xiàn)遠(yuǎn)程訪問本地?cái)?shù)據(jù)庫的相關(guān)資料,Redis遠(yuǎn)程連接是指通過網(wǎng)絡(luò)連接到Redis服務(wù)器,從而可以在不同的機(jī)器問和操作Redis數(shù)據(jù)庫,需要的朋友可以參考下2024-03-03解決docker重啟redis,mysql數(shù)據(jù)丟失的問題
這篇文章主要介紹了解決docker重啟redis,mysql數(shù)據(jù)丟失的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-11-11docker for windonws之Windows 10 家庭中文版安裝cl
這篇文章主要介紹了docker for windonws之Windows 10 家庭中文版安裝clickhouse 22.3版本及配置,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08dockerfile部署前端vue打包的ist文件實(shí)戰(zhàn)
這篇文章主要為大家介紹了dockerfile部署前端vue打包的ist文件實(shí)戰(zhàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10docker使用Dockerfile構(gòu)建鏡像的實(shí)現(xiàn)示例
本文主要介紹了docker使用Dockerfile構(gòu)建鏡像的實(shí)現(xiàn)示例,通過編寫 Dockerfile,您可以定義鏡像的基礎(chǔ)環(huán)境、安裝軟件包、復(fù)制文件、設(shè)置環(huán)境變量等操作,下面就來介紹一下2024-01-01Docker四種網(wǎng)絡(luò)模式演示及連通性測(cè)試
這篇文章主要為大家介紹了Docker四種網(wǎng)絡(luò)模式演示及連通性測(cè)試,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04