【解決】Got permission denied while trying to connect to the Docker daemon socket at......dial unix /var

 

 

>>> 問題:搭建Portainer時,選擇本地鏈接報錯?

 

 

>>>分析: 根據報錯信息可知是權限問題。

  可能緣由一:使用了非root用戶啓用或鏈接docker

   >>> Docker進程使用Unix Socket而不是TCP端口,而默認狀況下,Unix socket屬於root用戶,所以須要root權限才能訪問。html

sudo groupadd docker #添加docker用戶組
sudo gpasswd -a $XXX docker #檢測當前用戶是否已經在docker用戶組中,其中XXX爲用戶名。
sudo gpasswd -a $USER docker #將當前用戶添加至docker用戶組
newgrp docker #更新docker用戶組

  

  可能緣由二:啓動命令未掛載docker.sock文件

   >>> 單機模式頁面有提示須要掛載本地 /var/run/docker.sock與容器內/var/run/docker.sock鏈接,所以,在啓動時必須指定該掛載文件。docker

     它是Docker守護進程(Docker daemon)默認監聽的Unix域套接字(Unix domain socket),容器中的進程能夠經過它與Docker守護進程進行通訊。dom

docker run -d -p 9000:9000 --restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
--name prtainer-test portainer/portainer
# 用宿主機9000端口關聯容器9000端口,並給容器起名爲portainer-test。
# 執行完該命令以後,使用該機器IP:PORT便可訪問Portainer。

 

 

  可能緣由三:Docker版本太低

   >>> 分別查看docker運行狀態、版本、信息,發現運行狀態均正常,可是版本倒是1.13.1。socket

     這是一個很老很老的版本,雖然搭建運行docker命令均無問題,可是與不少鏡像存在兼容問題。post

    通常都是由於你使用默認安裝(yum install docker),若是你細心點執行命令 yum list docker 你會發現只有一個1.13.1的包,這是由於你的系統版本不夠高,隨之的yum庫軟件版本也都比較低,須要進行一些設置再進行安裝。url

    詳情參考  ——>  獲取Centos的Docker CE   或 獲取Ubuntu的Docker CEspa

 

  1.  查看docker版本

 

  2. 查看docker信息

   

 

  3. 查看docker狀態

相關文章
相關標籤/搜索