2017-06-19 60 views
0

我有一個TLS安全的docker惡魔在運行。我使用TLS遠程訪問Docker惡魔並在本地訪問Docker,而無需使用任何TLS。通常...沒有TLS的Docker Socket

最近,我更新了Docker。顯然我無法連接到本地套接字了。我想Docker現在正在使用TLS進行遠程和本地連接。

是否有一種方法可以禁用本地Docker套接字的TLS?

輸出的ps auxw | grep dockerd

在/ usr/bin中/ dockerd -H 0.0.0.0:2376 --tlsverify --tlscacert /home/dockermanager/.docker/ca.pem --tlscert /家庭/ dockermanager/.docker/server-cert.pem --tlskey /home/dockermanager/.docker/server-key.pem

+0

目前還不清楚,我認爲你配置守護進程使用TLS一個接口上,但不是另一個(至少不是基於文檔的一個粗略的檢查,雖然我絕對不會聲稱我是正確的:)。僅僅咬緊牙關並向當地客戶註冊證書會更簡單嗎? –

+0

我也不清楚,這就是爲什麼我發佈我的問題。我有幾個運行特定docker命令的cron容器。這是很大的遷移。 – blacklabelops

+0

請包括'ps auxw |的輸出grep dockerd'和'cat/etc/docker/daemon.json' – BMitch

回答

1

已經能夠自己解決這個問題。

我需要遷移到由泊塢窗提供的這兩個文件systemd: https://github.com/moby/moby/tree/master/contrib/init/systemd

一個服務文件是碼頭工人的魔鬼,有一個單獨的泊塢窗插座。 docker套接字是docker.service所需的依賴項,將被加載,重新啓動並相應停止。

然後,我需要添加docker demon參數-H unix://以激活偵聽docker socket的docker demon。

之後,一切工作一如既往,我認爲本地docker.socket通信不需要tls驗證。

現在開始命令:

/usr/bin/dockerd -H unix:// -H tcp://0.0.0.0:2376 --tlsverify --tlscacert /home/dockeruser/.docker/ca.pem --tlscert /home/dockeruser/.docker/server-cert.pem --tlskey /home/dockeruser/.docker/server-key.pem