2017-06-19 53 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