Ubuntu上運行Docker提示權限拒絕,如何處理?

請關注本頭條號,每天堅持更新原創乾貨技術文章。

如需學習視頻,請在微信搜索公眾號“智傳網優”直接開始自助視頻學習

1. 前言

如果您在Ubuntu上運行Docker,但被提示Permission Denied(權限拒絕),應該處理?本教程將對此問題提出解決方法。

最近,我在Ubuntu上安裝了Docker,安裝是非常簡單。但當我試圖運行docker命令時,它拋出了這個錯誤:

<code>Got permission denied 

while

 trying to 

connect

 to the Docker daemon 

socket

 at unix:

//

/var/run

/docker.sock: Get http:/

/%2Fvar%2Frun%2Fdocker.sock/v

1.

39

/containers/json: dial unix /var/run/docker.sock: 

connect

: permission denied/<code>
Ubuntu上運行Docker提示權限拒絕,如何處理?

Ubuntu上運行Docker提示Permission Denied(權限拒絕),如何處理?


Got permission denied while trying to connect to the Docker daemon socket(在試圖連接到Docker daemon socket時被拒絕)

2. 運行docker權限拒絕的2種解決方法

想知道如何解決這個問題?下面介紹2種解決方法。

Ubuntu上運行Docker提示權限拒絕,如何處理?

運行docker權限拒絕的2種解決方法


2.1 方法1:用sudo運行所有docker命令

如果你當前有sudo訪問權限,你可以用sudo運行每個docker命令,你就不會再看到Got permission denied while trying to connect to the Docker daemon socket(在試圖連接到Docker daemon socket時被拒絕)這個錯誤提示了。

<code>

sudo

 docker ps -a/<code>
<code>

CONTAINER

 ID        IMAGE               COMMAND             CREATED             STATUS                    PORTS               NAMES 13dc0f4226dc        ubuntu              

"bash"

              

17

 hours ago        Exited (

0

16

 hours ago                       container-

2

2d9a8c190e6c        ubuntu              

"/bin/bash"

         

17

 hours ago        Created                                       container-

1

/<code>

但是用sudo運行每個docker命令非常不方便。如果你忘記使用sudo命令,你會得到'權限拒絕'的提示。

2.2 方法2: 在沒有sudo的情況下運行docker命令

要在沒有sudo的情況下運行docker命令,您可以將目標用戶(系統用戶)添加到docker組。

首先,使用groupadd命令創建docker組。目標組可能已經存在,但是運行組創建命令不會有什麼影響。

<code>

sudo

 groupadd docker/<code>

現在您已經有了docker組,使用usermod命令將您的用戶添加到這個組中。如果想把當前用戶加入這個xesg中,您可以使用$user變量。

<code>

sudo

 usermod -aG docker 

$USER

/<code>

通過列出docker組的用戶來驗證您的用戶是否已被添加到docker組。您可能需要註銷並再次登錄。

<code>

sudo

 groups/<code>

如果你的組和docker組沒有列出,甚至在註銷後也沒有列出的話,你可能需要重新啟動Ubuntu。為了避免這種情況,你可以使用newgrp命令,像下面這樣的命令:

<code>

newgrp

 docker/<code>

現在,如果您嘗試在不使用sudo的情況下運行docker命令,應該可以正常工作。

3. 可能遇到的其它問題

在某些情況下,您可能需要向某些文件添加額外的權限,特別是在過去使用sudo運行docker命令的情況下。

Ubuntu上運行Docker提示權限拒絕,如何處理?

可能遇到的其它問題



您可以嘗試更改文件/var/run/docker.sock的所屬組。


<code>sudo chown root:docker / 

var

/run/docker.sock/<code>

您還可以嘗試更改目錄~/.docker所屬的組

<code>sudo 

chown

 

"$USER"

:

"$USER"

 /home/

"$USER"

/.docker -R sudo 

chmod

 g+rwx 

"$HOME/.docker"

 -R/<code>

然後嘗試運行docker與sudo。現在應該沒問題了。

4. 總結

我希望這個教程能夠幫助您解決"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.39/containers/json: dial unix /var/run/docker.sock: connect: permission denied”這個錯誤提示。如有任何問題歡迎留言。

本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下鏈接:
https://www.linuxrumen.com/rmxx/1665.html

點擊瞭解更多,快速查看更多的技術文章列表。


分享到:


相關文章: