bsmeding.docker

Rôle Ansible : Docker

Un rôle Ansible qui installe Docker sur Linux.

Veuillez n'installer la version que lorsque l'intégration continue (CI) est RÉUSSIE !

statut des tests Le rôle est testé sur les distributions Linux Ubuntu, Debian et Rocky (similaires à RedHat).

Téléchargements : Rôle Ansible

Originalement de geerlingguy.docker Supplémentaire :

  • Supprimer PodMan de RedHat Linux
  • Ajouter l'utilisateur et le groupe docker:docker
  • Ajouter l'utilisateur Ansible actuel au groupe docker
  • Définir docker_uid et docker_gui sur les ID de l'utilisateur et du groupe docker. Cela peut être utilisé dans d'autres rôles Ansible de moi qui utilisent tous docker en dessous. Cela permettra une installation sans accrocs.

Exigences

Aucune.

Variables du Rôle

Les variables disponibles sont listées ci-dessous, avec les valeurs par défaut (voir defaults/main.yml):

# L'édition peut être l'une des suivantes : 'ce' (Édition Communautaire) ou 'ee' (Édition Entreprise).
docker_edition: 'ce'
docker_packages:
    - "docker-{{ docker_edition }}"
    - "docker-{{ docker_edition }}-cli"
    - "docker-{{ docker_edition }}-rootless-extras"
docker_packages_state: présent

La docker_edition doit être soit ce (Édition Communautaire) ou ee (Édition Entreprise). Vous pouvez également spécifier une version spécifique de Docker à installer en utilisant le format spécifique à la distribution : Red Hat/CentOS : docker-{{ docker_edition }}-<VERSION> (Remarque : vous devez ajouter cela à tous les paquets) ; Debian/Ubuntu : docker-{{ docker_edition }}=<VERSION> (Remarque : vous devez ajouter cela à tous les paquets).

Vous pouvez contrôler si le paquet est installé, désinstallé ou à la dernière version en définissant docker_packages_state sur présent, absent ou dernier, respectivement. Notez que le démon Docker sera automatiquement redémarré si le paquet Docker est mis à jour. Cela est dû à l'exécution de tous les gestionnaires (lancement de tous les gestionnaires ayant été notifiés par ce rôle et tout autre rôle jusqu'à ce point dans le jeu).

docker_service_manage: true
docker_service_state: démarré
docker_service_enabled: true
docker_restart_handler_state: redémarré

Variables pour contrôler l'état du service docker et s'il doit démarrer au démarrage. Si vous installez Docker à l'intérieur d'un conteneur Docker sans systemd ou sysvinit, vous devez définir docker_service_manage sur false.

docker_install_compose_plugin: false
docker_compose_package: docker-compose-plugin
docker_compose_package_state: présent

Options d'installation du plugin Docker Compose. Celles-ci diffèrent de ci-dessous en ce sens que docker-compose est installé en tant que plugin Docker (et utilisé avec docker compose) au lieu d'un binaire autonome.

docker_install_compose: true
docker_compose_version: "1.26.0"
docker_compose_arch: "{{ ansible_architecture }}"
docker_compose_path: /usr/local/bin/docker-compose

Options d'installation de Docker Compose.

docker_add_repo: true

Contrôle si ce rôle ajoutera le dépôt officiel de Docker. Réglez sur false si vous souhaitez utiliser les paquets Docker par défaut pour votre système ou gérer le dépôt de paquets vous-même.

docker_repo_url: https://download.docker.com/linux

L'URL principale du dépôt Docker, commune entre les systèmes Debian et RHEL.

docker_apt_release_channel: stable
docker_apt_arch: "{{ 'arm64' si ansible_architecture == 'aarch64' sinon 'amd64' }}"
docker_apt_repository: "deb [arch={{ docker_apt_arch }}] {{ docker_repo_url }}/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} {{ docker_apt_release_channel }}"
docker_apt_ignore_key_error: True
docker_apt_gpg_key: "{{ docker_repo_url }}/{{ ansible_distribution | lower }}/gpg"
docker_apt_filename: "docker"

(Utilisé uniquement pour Debian/Ubuntu.) Vous pouvez changer de canal pour nightly si vous souhaitez utiliser la version Nightly.

Vous pouvez modifier docker_apt_gpg_key en une autre URL si vous êtes derrière un pare-feu ou si vous fournissez un miroir fiable. Cela se fait généralement en combinaison avec le changement de docker_apt_repository. docker_apt_filename contrôle le nom du fichier de liste source créé dans sources.list.d. Si vous mettez à jour depuis une version antérieure (<7.0.0) de ce rôle, vous devez changer cela au nom du fichier existant (par exemple download_docker_com_linux_debian sur Debian) pour éviter des listes en conflit.

docker_yum_repo_url: "{{ docker_repo_url }}/{{ (ansible_distribution == 'Fedora') | ternary('fedora','centos') }}/docker-{{ docker_edition }}.repo"
docker_yum_repo_enable_nightly: '0'
docker_yum_repo_enable_test: '0'
docker_yum_gpg_key: "{{ docker_repo_url }}/centos/gpg"

(Utilisé uniquement pour RedHat/CentOS.) Vous pouvez activer le dépôt Nightly ou Test en définissant les variables respectives à 1.

Vous pouvez modifier docker_yum_gpg_key en une autre URL si vous êtes derrière un pare-feu ou si vous fournissez un miroir fiable. Cela se fait généralement en combinaison avec le changement de docker_yum_repository également.

docker_users:
  - user1
  - user2

Une liste des utilisateurs système à ajouter au groupe docker (afin qu'ils puissent utiliser Docker sur le serveur). L'utilisateur Ansible actuel sera également ajouté.

docker_daemon_options:
  storage-driver: "devicemapper"
  log-opts:
    max-size: "100m"

Des options personnalisées pour dockerd peuvent être configurées à travers ce dictionnaire représentant le fichier json /etc/docker/daemon.json.

Informations sur l'Auteur

Ce rôle a été créé en 2017 par Jeff Geerling, auteur de Ansible for DevOps.

Modifié avec quelques paramètres supplémentaires par moi (Bart Smeding) pour être intégré dans mes autres rôles d'application de conteneur Ansible.

INFO\

Si vous obtenez l'erreur "Erreur de connexion : Erreur lors de la récupération de la version API du serveur : Schéma d'URL non pris en charge http+docker"}, veuillez mettre à jour les collections Ansible : (ou définir la bibliothèque python requests à < 2.32.0 )

  - nom : community.general
  - nom : community.docker
À propos du projet

Docker for Linux, Forked from geerlingguy.docker.

Installer
ansible-galaxy install bsmeding.docker
Licence
mit
Téléchargements
7.1k
Propriétaire
Network Automation Consultant | NetDevOps | DevNetOps | AI in networking | Home Automation