溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker命令讓普通用戶能夠執(zhí)行的實(shí)現(xiàn)示例

發(fā)布時(shí)間:2021-04-01 11:49:09 來(lái)源:億速云 閱讀:261 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)Docker命令讓普通用戶能夠執(zhí)行的實(shí)現(xiàn)示例的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

安裝完docker一般就會(huì)有docker用戶組

第二步、將當(dāng)前用戶添加到docker組

sudo gpasswd -a ${USER} docker

第三步、重啟docker

sudo systemctl restart docker

第四步、授予讀寫權(quán)限

sudo chmod a+rw /var/run/docker.sock

補(bǔ)充:非root用戶沒(méi)有權(quán)限使用docker

運(yùn)行docker run時(shí)提示no permission

centos上安裝docker的官方文檔

在安裝docker-ce的時(shí)候已經(jīng)自動(dòng)創(chuàng)建了docker用戶組,但是需要手動(dòng)添加用戶到docker用戶組

$ sudo usermod -aG docker $USER

或者$ sudo usermod -aG docker {指定用戶名}

但我在添加用戶到docker用戶組后還是提示no permission

比如我要運(yùn)行ubuntu 14.04的bash:

[hsowan@localhost shell-workspace]$ docker run -it --rm ubuntu:14.04 bash
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.38/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

why? 原因在于雖然用戶加入了docker用戶組,但是當(dāng)前沒(méi)有切換到docker用戶組,所以還是沒(méi)有權(quán)限

如果一個(gè)用戶同時(shí)屬于多個(gè)用戶組,那么用戶可以在用戶組之間切換,以便具有其他用戶組的權(quán)限。

$ newgrp docker

現(xiàn)在就可以在非root用戶下執(zhí)行docker相關(guān)的命令了

除了給用戶添加用戶組之外,還有什么辦法可以讓非root用戶可以執(zhí)行docker相關(guān)的命令呢?

ok,那我們來(lái)查看一下/var/run/docker.sock的權(quán)限

$ sudo ll /var/run/docker.sock

會(huì)得到下面的結(jié)果:

srw-rw----. 1 root docker 0 Sep 22 15:29 /var/run/docker.sock

所以現(xiàn)在直接修改/var/run/docker.sock的權(quán)限

$ sudo chmod 666 /var/run/docker.sock

現(xiàn)在就可以在非root用戶下運(yùn)行docker了

$ docker run -it --rm ubuntu:14.04 bash
root@5c60abab6425:/# cat /etc/os-release 
NAME="Ubuntu"
VERSION="14.04.5 LTS, Trusty Tahr"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 14.04.5 LTS"
VERSION_ID="14.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
root@5c60abab6425:/# exit
exit

感謝各位的閱讀!關(guān)于“Docker命令讓普通用戶能夠執(zhí)行的實(shí)現(xiàn)示例”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI