117 lines
3.0 KiB
YAML
117 lines
3.0 KiB
YAML
---
|
|
# 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 {{ docker_base_image }}
|
|
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') }}"
|