- name: Install docker packages (yum) yum: state: present name: docker,docker-registry,python-docker-py when: ansible_distribution in ['RedHat', 'CentOS', 'Fedora'] - name: Install docker packages (apt) apt: state: present # Note: add docker-registry when available name: docker.io,python-docker when: ansible_distribution in ['Ubuntu', 'Debian'] - name: Start docker daemon service: name: docker state: started - name: Download busybox image docker: image: busybox state: present pull: missing - name: Run a small script in busybox docker: image: busybox state: reloaded pull: always command: "nc -l -p 2000 -e xargs -n1 echo hello" detach: True - name: Get the docker container id shell: "docker ps | grep busybox | awk '{ print $1 }'" register: container_id - debug: var=container_id - name: Get the docker container ip shell: "docker inspect {{ container_id.stdout_lines[0] }} | grep IPAddress | awk -F '\"' '{ print $4 }'" register: container_ip - debug: var=container_ip - name: Try to access the server shell: "echo 'world' | nc {{ container_ip.stdout_lines[0] }} 2000" register: docker_output - debug: var=docker_output - name: check that the script ran assert: that: - "'hello world' in docker_output.stdout_lines"