Docker basics examples - Omid-Mohajerani/Ansible GitHub Wiki

docker container attach

run a Python container (c1) in detached mode

docker container run --name c1 -it --detach python

attach to the c1 container

docker container attach c1

For detaching we need to use Ctrl + P + Q


attach using bash

docker container exec -i -t c1 bash

Ansible docker examples

loop

# docker container run --name c1 -it --detach python 

- name: Create containers to use as ansible managed nodes
  hosts: localhost
  
  tasks:
    - name: Create a container
      community.docker.docker_container:
        name: c1
        image: python
        interactive: true
        tty: true
    - name : Create 2 debian 12 containers
      community.docker.docker_container:
        name: "{{ item }}"
        image: debian:12
        interactive: true
        tty: true
      loop:
        - d1
        - d2
- name: Create containers to use as ansible managed nodes
  hosts: localhost
  
  tasks:
    - name: Create a container
      community.docker.docker_container:
        name: c1
        image: python
        interactive: true
        tty: true
    - name: Create 4 debian 12 containers
      community.docker.docker_container:
        name: "d{{ item }}"
        image: debian:12
        interactive: true
        tty: true
      loop: "{{ range(1, 5) }}"

dynamic inventory for docker

omidmohajerani@OM Ansible % cat dynamic-docker.yml
plugin: community.docker.docker_containers
omidmohajerani@OM Ansible % ansible-inventory --list --yaml -i dynamic-docker.yml
all:
  children:
    ungrouped:
      hosts:
        c1:
          ansible_connection: community.docker.docker_api
          ansible_docker_api_version: auto
          ansible_docker_docker_host: unix://var/run/docker.sock
          ansible_docker_timeout: 60
          ansible_docker_tls: false
          ansible_docker_use_ssh_client: false
          ansible_docker_validate_certs: false
          ansible_host: c1
          docker_name: c1
          docker_short_id: 7b7886ab957cc
        c2:
          ansible_connection: community.docker.docker_api
          ansible_docker_api_version: auto
          ansible_docker_docker_host: unix://var/run/docker.sock
          ansible_docker_timeout: 60
          ansible_docker_tls: false
          ansible_docker_use_ssh_client: false
          ansible_docker_validate_certs: false
          ansible_host: c2
          docker_name: c2
          docker_short_id: a96e8cb01ee73