Docker命令讓普通用戶(hù)能夠執(zhí)行的實(shí)現(xiàn)
安裝完docker一般就會(huì)有docker用戶(hù)組
第二步、將當(dāng)前用戶(hù)添加到docker組
sudo gpasswd -a ${USER} docker
第三步、重啟docker
sudo systemctl restart docker
第四步、授予讀寫(xiě)權(quán)限
sudo chmod a+rw /var/run/docker.sock
補(bǔ)充:非root用戶(hù)沒(méi)有權(quán)限使用docker
運(yùn)行docker run時(shí)提示no permission
centos上安裝docker的官方文檔
在安裝docker-ce的時(shí)候已經(jīng)自動(dòng)創(chuàng)建了docker用戶(hù)組,但是需要手動(dòng)添加用戶(hù)到docker用戶(hù)組
$ sudo usermod -aG docker $USER
或者$ sudo usermod -aG docker {指定用戶(hù)名}
但我在添加用戶(hù)到docker用戶(hù)組后還是提示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? 原因在于雖然用戶(hù)加入了docker用戶(hù)組,但是當(dāng)前沒(méi)有切換到docker用戶(hù)組,所以還是沒(méi)有權(quán)限
如果一個(gè)用戶(hù)同時(shí)屬于多個(gè)用戶(hù)組,那么用戶(hù)可以在用戶(hù)組之間切換,以便具有其他用戶(hù)組的權(quán)限。
$ newgrp docker
現(xiàn)在就可以在非root用戶(hù)下執(zhí)行docker相關(guān)的命令了
除了給用戶(hù)添加用戶(hù)組之外,還有什么辦法可以讓非root用戶(hù)可以執(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用戶(hù)下運(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
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
docker安裝influxdb的詳細(xì)教程(性能測(cè)試)
這篇文章主要介紹了docker安裝influxdb的詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07docker-compose中啟動(dòng)鏡像失敗的幾種解決方法
本文主要介紹了docker-compose中啟動(dòng)鏡像失敗的幾種解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07Docker鏡像發(fā)布到Docker?Hub的實(shí)現(xiàn)方法
本文主要介紹了Docker鏡像發(fā)布到Docker?Hub的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01使用Dockerfile實(shí)現(xiàn)數(shù)據(jù)卷的掛載問(wèn)題(推薦)
Dockerfile就是一個(gè)可以用來(lái)構(gòu)建鏡像的文件,可以理解為一個(gè)腳本文件,可以通過(guò)這個(gè)腳本文件自定義生成一個(gè)我們想要的鏡像,鏡像都是一層一層的,里面的每一條命令就是一層,本文給大家介紹使用Dockerfile實(shí)現(xiàn)數(shù)據(jù)卷的掛載,感興趣的朋友一起看看吧2022-03-03PVE下擴(kuò)展openwrt?for?x86分區(qū)大小方式
本文介紹了在PVE環(huán)境下如何對(duì)OpenWRT虛擬機(jī)的分區(qū)進(jìn)行擴(kuò)容,包括磁盤(pán)調(diào)整、軟件安裝、分區(qū)配置和系統(tǒng)引導(dǎo)等步驟,操作前需做好備份,以防數(shù)據(jù)丟失2024-10-10使用Docker部署SpringBoot項(xiàng)目的實(shí)現(xiàn)方法
這篇文章主要介紹了使用Docker部署SpringBoot項(xiàng)目的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01