Hi all,
I've been trying the docker module and I'm facing permission issues.
My use case is the following:
- I installed ansible (ubuntu package 1.7.1), python pip (ubuntu package),
docker-py (pip package)
- I created a playbook with a simple task based on the docker module. I
want to create my container with ansible and provision it with ansible. I
don't want any ansible code to run inside my container.
I get this error:
msg: ConnectionError(MaxRetryError("UnixHTTPConnectionPool(host='localhost',
port=None): Max retries exceeded with url:
/run/docker.sock/v1.12/containers/json?all=1&limit=-1&trunc_cmd=1&size=0
(Caused by <class 'socket.error'>: [Errno 13] Permission denied)",),)
Intent : *create one container on localhost via ansible, (**maybe the
playbook does not understand it the same way)*
Pre-requisites: docker server is already up and running on localhost
I would be very grateful if anyone could explain me what I'm doing wrong
because I must be doing somthing wrong as my script is so trivial.
Thank you for your help.
Regards,
Louis
Below various additional information (console outputs + playbook)
python version
$ python --version
Python 2.7.6
docker version
$ docker --version
Docker version 1.2.0, build fa7b24f
pip list
$ pip list
ansible (1.7.1)
apt-xapian-index (0.45)
argparse (1.2.1)
backports.ssl-match-hostname (3.4.0.2)
chardet (2.0.1)
colorama (0.2.5)
command-not-found (0.3)
debtagshw (0.1)
defer (1.0.6)
dirspec (13.10)
docker-py (0.5.0)
dopy (0.2.3)
html5lib (0.999)
httplib2 (0.8)
Jinja2 (2.7.2)
lxml (3.3.3)
MarkupSafe (0.18)
oauthlib (0.6.1)
oneconf (0.3.7)
PAM (0.4.2)
paramiko (1.10.1)
pexpect (3.1)
Pillow (2.3.0)
pip (1.5.4)
piston-mini-client (0.7.5)
psutil (1.2.1)
pycrypto (2.6.1)
pycups (1.9.66)
pycurl (7.19.3)
pygobject (3.12.0)
pyOpenSSL (0.13)
pyserial (2.6)
pysmbc (1.0.14.1)
python-apt (0.9.3.5)
python-debian (0.1.21-nmu2ubuntu2)
pyxdg (0.25)
PyYAML (3.10)
reportlab (3.0)
requests (2.3.0)
sessioninstaller (0.0.0)
setuptools (3.3)
six (1.5.2)
software-center-aptd-plugins (0.0.0)
Twisted-Core (13.2.0)
Twisted-Web (13.2.0)
urllib3 (1.7.1)
websocket-client (0.18.0)
wsgiref (0.1.2)
zope.interface (4.0.5)
playbook
---
- hosts: localhost
vars:
- image: "ubuntu:14.04"
- host_name: "risk-data"
tasks:
- name: "bring up container for {{ host_name }} from {{ image }}"
docker: hostname="{{ host_name }}" image="{{ image }}" name="{{
host_name }}" expose=22
- name: "wait for {{ host_name }}'s sshd to come up"
wait_for: host="{{ host_name }}" port=22 state=started
- name: "dump facts"
debug: msg="Container {{ item.key }}"
with_items: docker_containers
- name: "add {{ host_name }} to inventory"
add_host: name="{{ host_name }}" groups=risk ansible_ssh_host="{{
item.NetworkSettings.IPAddress }}" ansible_ssh_port=22
with_items: docker_containers
playbook command line
$ ansible-playbook playbook.yml
PLAY [localhost]
**************************************************************
GATHERING FACTS
***************************************************************
ok: [localhost]
TASK: [bring up container for risk-data from ubuntu:14.04]
********************
failed: [localhost] => {"changed": false, "failed": true}
msg: ConnectionError(MaxRetryError("UnixHTTPConnectionPool(host='localhost',
port=None): Max retries exceeded with url: /run/docker.sock/v1.12/
containers/json?all=1&limit=-1&trunc_cmd=1&size=0 (Caused by <class
'socket.error'>: [Errno 13] Permission denied)",),)
FATAL: all hosts have already failed -- aborting
PLAY RECAP
********************************************************************
to retry, use: --limit @/home/louis/playbook.retry
localhost : ok=1 changed=0 unreachable=0 failed=1
--
You received this message because you are subscribed to the Google Groups
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/ansible-project/32b01b4f-7365-44c1-99ac-caf1d6a12cb6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.