1

OSX では、次のように 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

なぜリクエストがマシンを見つけられないのか途方に暮れています。セットアップの何が問題なのですか?

4

1 に答える 1

0

同じ問題がありました。これは私がしたことです:

私のエラーメッセージにはこれもありました:

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())私が持っている画像を返します

于 2016-09-01T18:16:45.637 に答える