--- # Rol para instalación de Docker # A partir de instrucciones en # https://docs.docker.com/engine/installation/linux/docker-ce/debian/ - name: Instalar pre-dependencias when: docker_target_release == 'stretch' apt: name: apt-transport-https state: present tags: skip_me - name: Instalar dependencias (python2) when: ansible_python.version.major == 2 apt: name: python-pip state: present tags: skip_me - name: Instalar dependencias (python3) when: ansible_python.version.major == 3 apt: name: python3-pip state: present tags: skip_me - name: Clave repositorio APT de Docker apt_key: url: https://download.docker.com/linux/debian/gpg state: present tags: skip_me - name: Configurar repo APT de Docker apt_repository: repo: deb https://download.docker.com/linux/debian {{ docker_target_release }} stable state: present tags: skip_me - name: Instalar docker apt: name: docker-ce state: present tags: skip_me - name: Habilitar containerd service: name: containerd state: started enabled: yes - name: Desinstalar python-docker de APT apt: name: python-docker state: absent tags: skip_me - name: Desinstalar python-backports.ssl-match-hostname de PIP pip: name: backports.ssl-match-hostname state: absent tags: skip_me - name: Instalar python-backports.ssl-match-hostname con APT apt: name: python-backports.ssl-match-hostname state: present tags: skip_me - name: Instalar python-docker mediante pip pip: name: docker state: present - name: Configuracion de red interna copy: content: | { "bip": "10.208.0.1/16" } dest: /etc/docker/daemon.json notify: restart docker - name: Red interna para contenedores docker_network: name: "{{ docker_network_name }}" state: present - name: Directorio de build buster-slim file: path: /root/.buster-slim-docker-image state: directory tags: skip_me - name: Copiar archivos de build copy: content: | FROM debian:buster-slim ARG CONFD_VERSION={{ docker_confd_version }} ADD https://github.com/kelseyhightower/confd/releases/download/v${CONFD_VERSION}/confd-${CONFD_VERSION}-linux-amd64 /usr/local/bin/confd RUN printf '#!/bin/bash\n/usr/local/bin/confd -onetime -backend env\nexec ${@}' > /entrypoint.sh \ && mkdir -p /etc/confd/{conf.d,templates} \ && chmod +x /usr/local/bin/confd /entrypoint.sh ENTRYPOINT /entrypoint.sh dest: /root/.buster-slim-docker-image/Dockerfile tags: skip_me - name: Crear imagen {{ docker_base_image }} docker_image: state: present name: "{{ docker_base_image }}" path: /root/.buster-slim-docker-image tags: skip_me - name: Exportar variables para otros roles set_fact: docker_network: "{{ lookup('vars', 'docker_network_name') }}" docker_network_name: "{{ lookup('vars', 'docker_network_name') }}" docker_base_image: "{{ lookup('vars', 'docker_base_image') }}"