2015-04-17 97 views
1

我在使用Python中的docker-py訪問來自客戶端的docker守護進程時遇到問題。我通過 sudo docker -d &命令啓動了docker守護進程,輸出爲[1] 4894。然後我試圖使用我從here了作爲根Python docker-py拒絕連接

from docker import Client 
cli = Client(base_url='unix://var/run/docker.sock') 
cli.containers() 

代碼從蟒蛇訪問守護這給我的錯誤:

requests.exceptions.ConnectionError: ('Connection aborted.', error(111, 'Connection refused')) 

我也試過

cli = Client(base_url='tcp://127.0.0.1:4894') 

但它給了我同樣的錯誤。

+0

當你運行'sudo docker -d'沒有&你看到了什麼? –

+0

@PadraicCunningham我看到了'2015/04/17 17:36:33 docker daemon:1.2.0 fa7b24f; execdriver:native; graphdriver: [e7234094] + job serveapi(unix:///var/run/docker.sock) [info]在unix上監聽HTTP(/var/run/docker.sock) 2015/04/17 17: 36:33找到pid文件,確保docker沒有運行或者在運行'sudo docker -d'時刪除/ var/run/docker.pid' – Wahbivic

回答

4

這似乎是/var/run/docker.sock文件具有不正確的權限。由於docker守護程序以root用戶身份啓動,因此權限可能會受到限制。

如果更改權限以允許其他用戶訪問它,則應該獲得更多成功(例如o = rwx)。

+0

另外如果你確實想使用TCP套接字,你可能需要檢查當您以root用戶身份啓動進程時,套接字將被啓用。 – extols

+0

謝謝。我試過這個,但它也給了我同樣的錯誤。 – Wahbivic

+0

你可以檢查/var/run/docker.sock的權限嗎? – extols