溫馨提示×

溫馨提示×

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

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

如何獲取docker容器里面的root權(quán)限

發(fā)布時間:2021-03-29 10:41:28 來源:億速云 閱讀:558 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹如何獲取docker容器里面的root權(quán)限,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

首先你的container得正在運行

可通過sudo docker container ls或者sudo docker ps查看容器的CONTAINER ID

最后執(zhí)行命令(其中7509371edd48 為上面查到的CONTAINER ID)

sudo docker exec -ti -u root 7509371edd48 bash

補充:解決非root用戶沒有權(quán)限運行docker命令的問題

問題描述:

”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“

原因(摘自docker手冊):

Manage Docker as a non-root user

The docker daemon binds to a Unix socket instead of a TCP port. By
default that Unix socket is owned by the user root and other users can
only access it using sudo. The docker daemon always runs as the root
user.

If you don't want to use sudo when you use the docker command, create
a Unix group called docker and add users to it. When the docker daemon
starts, it makes the ownership of the Unix socket read/writable by the
docker group.

答案顯而易見,要不用root用戶,要不創(chuàng)建一個名為docker的用戶組,并把你需要使用docker的非root用戶添加到該組中,如果還不會搞,繼續(xù)往下看。

方法1:

使用sudo獲取管理員權(quán)限,運行docker命令,這個方法在通過腳本執(zhí)行docker命令的時候會有很多局限性

方法2:

docker守護進程啟動的時候,會默認(rèn)賦予名為docker的用戶組讀寫Unix socket的權(quán)限,因此只要創(chuàng)建docker用戶組,并將當(dāng)前用戶加入到docker用戶組中,那么當(dāng)前用戶就有權(quán)限訪問Unix socket了,進而也就可以執(zhí)行docker相關(guān)命令

sudo groupadd docker   #添加docker用戶組
sudo gpasswd -a $USER docker   #將登陸用戶加入到docker用戶組中
newgrp docker   #更新用戶組

以上是“如何獲取docker容器里面的root權(quán)限”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

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

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI