Docker ubuntu

 Para instalar Docker y Docker Compose en Ubuntu 22.04 utilizando Ansible, puedes crear un playbook y dividir las tareas en varios archivos. A continuación se muestra cómo estructurar los archivos y el contenido de cada uno de ellos.


**Estructura de archivos:**


```

ansible-docker-install/

|-- roles/

|   |-- docker/

|   |   |-- tasks/

|   |   |   |-- main.yml

|   |   |   |-- install_dependencies.yml

|   |   |   |-- install_docker.yml

|   |-- docker-compose/

|   |   |-- tasks/

|   |   |   |-- main.yml

|   |   |   |-- install_docker_compose.yml

|-- playbook.yml

```


**playbook.yml:**


```yaml

- name: Install Docker and Docker Compose on Ubuntu 22.04

  hosts: all

  become: yes

  roles:

    - docker

    - docker-compose

```


**roles/docker/tasks/main.yml:**


```yaml

---

- name: Install Docker dependencies

  include_tasks: install_dependencies.yml


- name: Install Docker

  include_tasks: install_docker.yml

```


**roles/docker/tasks/install_dependencies.yml:**


```yaml

---

- name: Update apt package index

  ansible.builtin.apt:

    update_cache: yes


- name: Install required packages

  ansible.builtin.apt:

    name:

      - apt-transport-https

      - ca-certificates

      - curl

      - software-properties-common

    state: present

```


**roles/docker/tasks/install_docker.yml:**


```yaml

---

- name: Add Docker GPG key

  ansible.builtin.apt_key:

    url: https://download.docker.com/linux/ubuntu/gpg

    keyring: /usr/share/keyrings/docker-archive-keyring.gpg


- name: Add Docker repository

  ansible.builtin.apt_repository:

    repo: "deb [arch={{ ansible_architecture }} signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable"

    state: present


- name: Install Docker CE

  ansible.builtin.apt:

    name: docker-ce

    state: present

    update_cache: yes

```


**roles/docker-compose/tasks/main.yml:**


```yaml

---

- name: Install Docker Compose

  include_tasks: install_docker_compose.yml

```


**roles/docker-compose/tasks/install_docker_compose.yml:**


```yaml

---

- name: Download Docker Compose binary

  ansible.builtin.get_url:

    url: "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-{{ ansible_system }}-{{ ansible_userspace_architecture }}"

    dest: /usr/local/bin/docker-compose

    mode: '0755'

```


Para ejecutar este playbook, crea un archivo de inventario con las direcciones IP o los nombres de dominio de las máquinas objetivo y ejecuta el comando `ansible-playbook`:


```bash

ansible-playbook -i inventory.ini playbook.yml

```


Después de ejecutar el playbook, Docker y Docker Compose estarán instalados en las máquinas objetivo.

Comentarios

Entradas populares de este blog

Migración

Docker alpine

Questasim