Sprawdziłem this post i podążałem za poprawką w obu odpowiedziach i nic nie zadziałało. Otwieram nowy post częściowo z tego powodu, a częściowo dlatego, że dostaję nieco inny błąd, mimo że problem może być taki sam.Komunikat nie może importować docker-py, mimo że jest zainstalowany
ansibl host:
$ ansible --version
ansible 2.1.0.0
config file = /etc/ansible/ansible.cfg
configured module search path = Default w/o overrides
Docelowy klient mójserwer:
$ 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
...
serwer ansibl (ansibl-PlayBook aliasem ap):
$ ap -vvvv test.yml
Wyjście:
(wyjście prawdopodobnie obcy, ucięte):
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":
(Stosowny błędu):
"Failed to import docker-py - cannot import name NotFound. Try pip install docker-py"}
uzyskać ten sam błąd podczas downgrade moduł docker-py do wersji 1.1.0 zgodnie z pierwszą odpowiedzią w przywołanym poście. Próbowałem też chmod katalogi i nie ma różnicy:
(/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/
od chmod -R go+rx docker*
.
Czy ktoś to widział wcześniej? Próbowałem użyć modułu pip ansible do zainstalowania modułów, a następnie po ich ręcznym usunięciu, ponownie je zainstalowałem ręcznie, jak w przywołanym poście. Używam również wersji 2.1.0.0. jak widać, co miało naprawić ten problem.
Wiwaty, ale jak mam 2.1.0.0 na serwerze, i próbowali 1.7.0 Döcker-Py z 1.11 dokowania do! Pomocy. Mam obejście dla każdego sfrustrowanego użytkownika, który zawsze uruchamia kontener rejestru o nazwie = rejestr, a następnie w książce "użyj" docker ps --filter = name = registry -q' i zarejestruj dane wyjściowe jako var, a następnie użyj poleceń powłoki, takich jak 'docker stop {{docker_regID.stdout}}' itp. – volvox
@SztupY masz na myśli, że pilot musi mieć zainstalowany Docker lub lokalny musi go zainstalować? Czy rzeczywiście komunikuje się za pośrednictwem Docker Daemon? – Breedly