gbolo.docker

Docker - Rol de Ansible

Estado de Construcción

Este rol configurará e instalará completamente Docker en las siguientes plataformas:

  • RHEL/CentOS 7
  • Debian/Ubuntu

este rol solo es compatible con versiones de docker 1.11+.

Requisitos

Variables del Rol

Las siguientes variables se pueden utilizar para personalizar la instalación de docker:

# Relacionado con el sistema operativo ---------------------------------------------------
## utilizar el repositorio oficial de docker
docker_repo_enabled: true
## elegir el estado de habilitación del canal del repositorio de docker
docker_repo_channel_stable_enabled: true
docker_repo_channel_edge_enabled: false
docker_repo_channel_test_enabled: false
## nombre del paquete docker a instalar
docker_pkg_name: "docker-ce"
## estado del paquete (presente, último, etc.)
docker_pkg_state: present
## nombre del servicio docker
docker_service_name: "docker"
## ¿debe iniciarse el demonio de docker al arrancar?
docker_service_enable: true
## nombre del grupo para el archivo de socket de docker
docker_group: "docker"
## ¿debemos instalar python-docker-py para los módulos de docker en ansible?
docker_install_py_module: false

# Relacionado con Proxy -----------------------------------------------------------------
## ¿debe el demonio de docker usar un proxy para conexiones salientes?
docker_proxy_enabled: false
## lista de variables de entorno que debemos configurar (comentar las que no necesite)
docker_proxy_env:
  - "HTTP_PROXY=http://proxy.ejemplo.com:80/"
  - "HTTP_PROXY=https://proxy.ejemplo.com:443/"
  - "NO_PROXY=localhost,127.0.0.1,internalhub.ejemplo.com"

# Configuración del cliente de docker ----------------------------------------------------
## habilitar autenticación para el registro de docker
docker_client_config_enabled: false
## la ubicación donde debemos enviar la configuración del cliente
docker_client_config_location: "/root/.docker/config.json"
# para autenticación (docker login) usa algo como:
#docker_client_config:
#  auths:
#    "https://test.tld:1234":
#      auth: "ALGUNA_CADENA"
#      email: "ALGUN_EMAIL"

# Opciones de configuración predeterminadas de dockerd -----------------------------------
## https://docs.docker.com/engine/reference/commandline/dockerd/#/linux-configuration-file
docker_config_data_root: "/var/lib/docker"
docker_config_log_driver: ""
docker_config_log_opts: {}
docker_config_max_concurrent_downloads: 3
docker_config_max_concurrent_uploads: 5
docker_config_debug: false
docker_config_log_level: ""
docker_config_bridge: ~
docker_config_bip: "172.16.0.1/24"
docker_config_fixed_cidr: "172.16.0.0/24"
docker_config_fixed_cidr_v6: ""
docker_config_default_gateway: ""
docker_config_default_gateway_v6: ""
docker_config_selinux_enabled: false
docker_config_ip: "0.0.0.0"
docker_config_group: "{{ docker_group }}"
docker_config_insecure_registries: []

# se pueden agregar configuraciones docker personalizadas a este diccionario:
docker_config_custom: {}

Ejemplos de Playbooks

Instalar la última versión estable de docker en tu servidor centos local

- hosts: localhost
  roles:
     - { role: gbolo.docker, docker_pkg_state: latest }

Instalar la última versión edge de docker en tu servidor centos local

- hosts: localhost
  roles:
     - { role: gbolo.docker, docker_pkg_state: latest, docker_repo_channel_edge_enabled: true }

Instalar una versión estable anterior de docker en tu servidor centos local

- hosts: localhost
  roles:
     - { role: gbolo.docker, docker_pkg_name: docker-ce-18.03.1.ce-1.el7.centos }

Playbook avanzado con varias variables aplicadas

- hosts: localhost
  vars:
    # almacenar contenedores/imágenes de docker en /opt/docker
    docker_config_data_root: /opt/docker
    # cambiar la subred del puente predeterminado de docker
    docker_config_bip: 172.16.77.77/24
    # establecer el controlador de registro predeterminado en journald
    docker_config_log_driver: journald
    # usar docker_config_custom para definir configuraciones adicionales no listadas arriba
    docker_config_custom:
      # habilitar modo experimental
      experimental: true
      # exponer la API de docker a través del archivo de socket y tcp
      hosts:
        - unix:///var/run/docker.sock
        - tcp://0.0.0.0:2376
      # establecer dominios de búsqueda predeterminados
      dns-search:
        - lab1.linuxctl.com
        - lab2.linuxctl.com

  roles:
    - role: gbolo.docker

Autor y Licencia

Rol de docker escrito por:

Licencia: MIT

¡SOFTWARE GRATIS, SÍ, SÍ!

Acerca del proyecto

Role for Installation and Configuration of Docker

Instalar
ansible-galaxy install gbolo.docker
Licencia
mit
Descargas
130
Propietario
Father, Husband, Engineer