连接到托管在远程服务器上的Docker [英] connect to docker hosted on remote server

查看:147
本文介绍了连接到托管在远程服务器上的Docker的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用python连接到远程docker主机?

How do I connect to remote docker host using python?

>>> from docker import Client
>>> cli = Client(base_url='tcp://52.90.216.176:2375')
>>>
>>> cli.containers()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/site-packages/docker/api/container.py", line 69, in containers
    res = self._result(self._get(u, params=params), True)
  File "/usr/local/lib/python2.7/site-packages/docker/utils/decorators.py", line 47, in inner
    return f(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/docker/client.py", line 112, in _get
    return self.get(url, **self._set_request_timeout(kwargs))
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 480, in get
    return self.request('GET', url, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 468, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/sessions.py", line 576, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/requests/adapters.py", line 437, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='52.90.216.176', port=2375): Max retries exceeded with url: /v1.21/containers/json?all=0&limit=-1&trunc_cmd=0&size=0 (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7fd87d836750>: Failed to establish a new connection: [Errno 111] Connection refused',))

如果我登录52.90.216.176并使用以下命令:

If I log-in to 52.90.216.176 and use the following:

>>> cli = Client(base_url='unix://var/run/docker.sock')

此作品。但是,如何连接到在另一台服务器上运行的docker?

this works. But how do I connect to docker running on another server?

推荐答案

将tcp选项添加到sys config中,如下所示:

Add tcp option to sys config as shown here:

vi /etc/sysconfig/docker

OPTIONS="--host=tcp://0.0.0.0:2375"

重启docker之后,我可以使用python连接到远程docker服务器。

After restarting docker, I could connect to remote docker server using python.

这篇关于连接到托管在远程服务器上的Docker的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆