0

Ansible 1.7 (devel) と Docker 0.9.1 ビルド 3600720 を使用していますが、次のエラーが発生します。

failed: [myapp.com] => {"failed": true, "item": "", "parsed": false}
invalid output was: Traceback (most recent call last):
  File "/root/.ansible/tmp/ansible-tmp-1400951250.7-173380463612813/docker", line 1959, in <module>
    main()
  File "/root/.ansible/tmp/ansible-tmp-1400951250.7-173380463612813/docker", line 693, in main
    containers = manager.create_containers(1)
  File "/root/.ansible/tmp/ansible-tmp-1400951250.7-173380463612813/docker", line 548, in create_containers
    if docker.utils.compare_version('1.10', self.client.version()['ApiVersion']) < 0:
KeyError: 'ApiVersion'

何か案は?動作するバージョンの組み合わせはありますか? Docker コンテナ用に「実行中」状態が追加されたため、Ansible 1.7 が必要でした。

4

3 に答える 3

0

より一般的な回答で述べたように、次のdocker_api_version: auto引数を使用します。

- name: Mongo data container
  docker:
    docker_api_version: auto
    name: mongo-primary-dc
    image: debian:wheezy
    state: present
    volumes:
    - /data
于 2016-01-22T11:38:11.980 に答える
0

今日、この問題に遭遇し、修正することにしました。問題の要点は、docker の古いバージョンに ApiVersion が指定されていないことです (または docker-py パッケージがそれを返さない)。

ここの ansible docker モジュールでこの問題を修正するプル リクエストを送信しました: https://github.com/ansible/ansible/pull/7619

または、docker のバージョンをアップグレードして回避することもできます。

于 2014-05-31T22:33:39.397 に答える