使用docker-py(OSX)连接到docker-machine
在OSX上,我正在创build一个docker-machine,如下所示:
docker-machine create --driver=virtualbox --tls-san dockerhost docker
并添加到/etc/hosts
(我也试过了):
192.168.99.100 dockerhost
然后使用docker-py连接到docker-machine:
machine_name = 'docker' machine_ip = '192.168.99.100' #from docker-machine env docker CERTS = os.path.join(os.path.expanduser('~'), '.docker', 'machine', 'machines', machine_name) tls_config = docker.tls.TLSConfig( client_cert=(os.path.join(CERTS, 'cert.pem'), os.path.join(CERTS,'key.pem')), ca_cert=os.path.join(CERTS, 'ca.pem'), verify=True ) cli = docker.Client(base_url='https://' + machine_ip + ':2376' , tls=tls_config)
这给出了错误:
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://192.168.99.100:2376/v1.21/containers/create
我不知道为什么请求找不到机器,有什么想法,我的设置有什么问题?
我遇到过同样的问题。 这就是我所做的:
我的错误信息更长了:
docker.errors.APIError: 400 Client Error: Bad Request ("b'client version 1.2.1 is too old. Minimum supported API version is 1.12, please upgrade your client to a newer version'")
我升级docker使用docker-machine upgrade default
,然后将版本添加到您的代码:
cli = docker.Client(base_url='https://' + machine_ip + ':2376' , tls=tls_config, version='1.12.1')
print (cli.images())
返回我有的图像