您好,登錄后才能下訂單哦!
小編給大家分享一下怎么免sudo使用docker命令,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
背景
Docker是PaaS供應(yīng)商dotCloud開(kāi)源的一個(gè)基于LXC 的高級(jí)容器引擎,源代碼托管在 GitHub 上, 基于Go語(yǔ)言開(kāi)發(fā)并遵從Apache 2.0協(xié)議開(kāi)源。Docker提供了一種在安全、可重復(fù)的環(huán)境中自動(dòng)部署軟件的方式,它的出現(xiàn)拉開(kāi)了基于云計(jì)算平臺(tái)發(fā)布產(chǎn)品方式的變革序幕。
對(duì)Linux系統(tǒng)管理員或高級(jí)用戶而言,sudo是必不可少的最重要的命令之一。而因?yàn)槭褂玫氖莝udo安裝docker,所以會(huì)導(dǎo)致一個(gè)問(wèn)題。以普通用戶登錄的狀況下,在使用 docker images 時(shí)必須添加 sudo ,那么如何讓docker免 sudo 依然可用呢?于是開(kāi)始搜索解決方案。
理清楚問(wèn)題
當(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)限的問(wè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 ,可讀可寫(xiě);其屬組為 docker ,權(quán)限為 rw ,可讀可寫(xiě)。如果要當(dāng)前用戶可直接讀取該文件,那么我們就為當(dāng)前用戶添加到 docker 屬組即可。
如果還沒(méi)有 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ò)。
以上是“怎么免sudo使用docker命令”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。