2016-07-04 8 views
6

स्थापित किया गया है, मैंने this post चेक किया और दोनों उत्तरों में फिक्स का पालन किया और न ही काम किया। मैं उस वजह से आंशिक रूप से एक नई पोस्ट खोल रहा हूं और आंशिक रूप से क्योंकि मुझे थोड़ा अलग त्रुटि मिल रही है, भले ही समस्या एक जैसी हो।उत्तरदायी डॉकर-पीई आयात नहीं कर सकता है भले ही यह

Ansible मेजबान:

$ ansible --version 
ansible 2.1.0.0 
    config file = /etc/ansible/ansible.cfg 
    configured module search path = Default w/o overrides 

गंतव्य ग्राहक MyServer:

$ pip list | egrep 'six|docker|websocket_client' 
docker-py (1.2.3) 
six (1.10.0) 

test.yml:

--- 
- hosts: myserver 
    remote_user: root 
    tasks: 
    - name: stop any running docker registries 
    docker_container: 
     name: registry 
     state: stopped 
... 

Ansible सर्वर (ansible-प्लेबुक एपी के लिए उपनामित):

$ ap -vvvv test.yml

उत्पादन:

(शायद बाहरी उत्पादन, कतरना):

fatal: [myserver]: FAILED! => { 
    "changed": false, 
    "failed": true, 
    "invocation": { 
     "module_args": { 
      "api_version": null, 
      "blkio_weight": null, 
      "cacert_path": null, 
      "capabilities": null, 
      "cert_path": null, 
      "command": null, 
      "cpu_period": null, 
      "cpu_quota": null, 
      "cpu_shares": null, 
      "cpuset_cpus": null, 
      "cpuset_mems": null, 
      "debug": false, 
      "detach": true, 
      "devices": null, 
      "dns_opts": null, 
      "dns_search_domains": null, 
      "dns_servers": null, 
      "docker_host": null, 
      "entrypoint": null, 
      "env": null, 
      "etc_hosts": null, 
      "exposed_ports": null, 
      "filter_logger": false, 
      "force_kill": false, 
      "groups": null, 
      "hostname": null, 
      "image": null, 
      "interactive": false, 
      "ipc_mode": null, 
      "keep_volumes": true, 
      "kernel_memory": null, 
      "key_path": null, 
      "kill_signal": null, 
      "labels": null, 
      "links": null, 
      "log_driver": 
      "json-file", 
      "log_options": null, 
      "mac_address": null, 
      "memory": "0", 
      "memory_reservation": null, 
      "memory_swap": null, 
      "memory_swappiness": null, 
      "name": "registry", 
      "network_mode": null, 
      "networks": null, 
      "oom_killer": null, 
      "paused": false, 
      "pid_mode": null, 
      "privileged": false, 
      "published_ports": null, 
      "pull": false, 
      "read_only": false, 
      "recreate": false, 
      "restart": false, 
      "restart_policy": null, 
      "restart_retries": 0, 
      "security_opts": null, 
      "shm_size": null, 
      "ssl_version": null, 
      "state": "stopped", 
      "stop_signal": null, 
      "stop_timeout": null, 
      "timeout": null, 
      "tls": null, 
      "tls_hostname": null, 
      "tls_verify": null, 
      "trust_image_content": false, 
      "tty": false, 
      "ulimits": null, 
      "user": null, 
      "uts": null, 
      "volume_driver": null, 
      "volumes": null, 
      "volumes_from": null 
     }, 
     "module_name": "docker_container" 
    }, 
    "msg": 

(उचित त्रुटि):

"Failed to import docker-py - cannot import name NotFound. Try pip install docker-py"}

मैं जब मैं डाउनग्रेड एक ही त्रुटि मिलती है संदर्भित पोस्ट में पहले जवाब के अनुसार डॉकर-पीई मॉड्यूल 1.1.0 पर। मैं भी निर्देशिका chmod करने की कोशिश की और यह कोई फर्क पड़ा:

(/usr/lib/python2.7/site-packages) myserver$ ls -lad docker* 
drwxr-xr-x. 6 root root 4096 Jul 4 10:57 docker/ 
drwxr-xr-x. 2 root root 4096 Jul 4 10:57 docker_py-1.2.3-py2.7.egg-info/ 
chmod -R go+rx docker* से

क्या किसी ने इसे पहले देखा है? मैंने मॉड्यूल स्थापित करने के लिए पीआईपी उत्तरदायी मॉड्यूल का उपयोग करने की कोशिश की है और फिर मैन्युअल रूप से उन्हें हटाने के बाद, संदर्भित पोस्ट में उन्हें मैन्युअल रूप से पुनर्स्थापित कर दिया है। मैं भी 2.1.0.0 का उपयोग कर रहा हूँ। जैसा कि आप देख सकते हैं, जो इस मुद्दे को ठीक करना था।

उत्तर

0

* मॉड्यूल वास्तव में अप करने की तारीख नहीं है डोकर के लिए ansible के दस्तावेज़ पर डोकर-py मॉड्यूल के लिए आवश्यकताओं, लेकिन आम तौर पर यहाँ कुछ ansible कर रहे हैं - डोकर-py जोड़े कि काम करना चाहिए:

  • उत्तर 2.1.0.0 को कम से कम डॉकर-पीई संस्करण 1.7.0 की आवश्यकता होती है, जिसके बदले में कम से कम डॉकर 1.9 क्लाइंट पर स्थापित होना आवश्यक है।

  • यदि आपको डॉकर के पुराने संस्करण का उपयोग करने की आवश्यकता है, तो आप उत्तर 2.0.0.0 और डॉकर-पीई 1.4.0 के साथ डॉकर 1.7 का उपयोग कर सकते हैं।

  • आप डोकर की एक और भी पुराने संस्करण की जरूरत है, 1.6 की तरह तो आप ansible 1,9

+1

चीयर्स, लेकिन मैं सर्वर पर 2.1.0.0 मिल गया है, और साथ 1.7.0 डोकर-py की कोशिश की है के रूप में 1.11 डॉकर! लाभ। मैं वहाँ किसी भी निराश लोगों को हमेशा नाम = रजिस्ट्री के साथ और फिर प्लेबुक उपयोग में 'डोकर ps --filter = नाम = रजिस्ट्री रजिस्ट्री कंटेनर -q' और एक वर के रूप में उत्पादन शुरू करने के लिए रजिस्टर है, जिसके लिए एक समाधान है, तो इस तरह के 'डोकर रोक के रूप में खोल आदेशों का उपयोग {{docker_regID.stdout}}' आदि – volvox

+0

@SztupY आप दूरस्थ डोकर स्थापित करने की है या स्थानीय यह स्थापित किया है करने के लिए है मतलब है? क्या यह वास्तव में डॉकर डेमन के माध्यम से संचार कर रहा है? – Breedly

3

इसका कारण यह है अजगर मॉड्यूल docker और docker-py के नए संस्करणों कि ansible का उपयोग करता है असंगत हैं के साथ फंस रहे हैं। मैं वापस आ गया और स्पष्ट रूप से वापस लौटने के लिए PIP पैकेज के निम्नलिखित संस्करणों निर्दिष्ट था:

  • डोकर: 2.0.0
  • डोकर-py: 1.10।इन के लिए 6

नमूना प्लेबुक कार्य:

- name: install certain python modules for docker 
    pip: 
    name: "{{ item.name }}" 
    version: "{{ item.version }}" 
    state: present 
    with_items: 
    - { name: docker, version: 2.0.0 } 
    - { name: docker-py, version: 1.10.6 } 

मेरे सभी खेलने किताबें तब से ठीक काम करते हैं।

2

मेरे लिए docker-py लिए पथ निर्दिष्ट काम किया।

- hosts: <host> 
    environment: 
    PYTHONPATH: "/home/path/.local/lib/python2.7/site-packages" 

मूल रूप से उत्तर गलत निर्देशिका में देख रहा था। इस मुद्दे पर उनके महान लेख के लिए क्ले ग्राहम को

पूर्ण क्रेडिट:

https://medium.com/dronzebot/ansible-and-docker-py-path-issues-and-resolving-them-e3834d5bb79a

+0

समस्या के सूचक के लिए धन्यवाद ... मेरे लिए, समस्या यह थी कि रिमोट डॉकर होस्ट (RHEL7) ने python-urllib3 पैकेज को/usr/lib/python2.6/ में/usr/lib/python2.7 /। क्ले ग्राहम द्वारा वर्णित मेरी उत्तरदायी लिपि में पायथनपैथ को विस्तारित करने से मुझे फिर से जाना पड़ा। – Bernie

संबंधित मुद्दे