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 !
Le rôle est testé sur les distributions Linux Ubuntu, Debian et Rocky (similaires à RedHat).
Téléchargements :
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
etdocker_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
Docker for Linux, Forked from geerlingguy.docker.
ansible-galaxy install bsmeding.docker