使用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())返回我有的图像