69 lines
2.3 KiB
YAML
69 lines
2.3 KiB
YAML
- name: Установка Docker на Debian
|
|
hosts: all
|
|
become: true
|
|
vars:
|
|
docker_gpg_key_url: "https://download.docker.com/linux/debian/gpg"
|
|
docker_gpg_key_path: "/etc/apt/keyrings/docker.asc"
|
|
docker_repo_arch: "{{ ansible_architecture }}"
|
|
docker_repo_codename: "{{ ansible_distribution_release }}"
|
|
docker_repo_url: "https://download.docker.com/linux/debian"
|
|
|
|
tasks:
|
|
- name: Обновление кэша apt
|
|
ansible.builtin.apt:
|
|
update_cache: true
|
|
cache_valid_time: 3600
|
|
|
|
- name: Установка зависимостей
|
|
ansible.builtin.apt:
|
|
name:
|
|
- ca-certificates
|
|
- curl
|
|
- gnupg
|
|
state: present
|
|
|
|
- name: Создание директории для GPG-ключей
|
|
ansible.builtin.file:
|
|
path: /etc/apt/keyrings
|
|
state: directory
|
|
mode: '0755'
|
|
|
|
- name: Скачивание GPG-ключа Docker
|
|
ansible.builtin.get_url:
|
|
url: "{{ docker_gpg_key_url }}"
|
|
dest: "{{ docker_gpg_key_path }}"
|
|
mode: '0644'
|
|
force: false # обеспечивает идемпотентность
|
|
|
|
- name: Добавление официального репозитория Docker
|
|
ansible.builtin.apt_repository:
|
|
repo: "deb [arch={{ docker_repo_arch }} signed-by={{ docker_gpg_key_path }}] {{ docker_repo_url }} {{ docker_repo_codename }} stable"
|
|
state: present
|
|
filename: docker
|
|
mode: '0644'
|
|
|
|
- name: Обновление кэша apt после добавления репозитория
|
|
ansible.builtin.apt:
|
|
update_cache: true
|
|
|
|
- name: Установка пакетов Docker
|
|
ansible.builtin.apt:
|
|
name:
|
|
- docker-ce
|
|
- docker-ce-cli
|
|
- containerd.io
|
|
- docker-buildx-plugin
|
|
- docker-compose-plugin
|
|
state: present
|
|
install_recommends: true
|
|
|
|
- name: Проверка работы Docker (опционально)
|
|
ansible.builtin.command: docker --version
|
|
register: docker_version
|
|
changed_when: false
|
|
check_mode: false
|
|
|
|
- name: Отображение версии Docker
|
|
ansible.builtin.debug:
|
|
msg: "Установлена версия Docker: {{ docker_version.stdout }}"
|