mirror of
https://github.com/ansible-collections/community.docker.git
synced 2026-07-29 11:55:04 +00:00
Use FQCNs. (#1180)
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Install docker
|
||||
apk:
|
||||
community.general.apk:
|
||||
name:
|
||||
- docker
|
||||
update_cache: true
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Get OS version
|
||||
shell: uname -r
|
||||
ansible.builtin.shell: uname -r
|
||||
register: os_version
|
||||
|
||||
- name: Install pre-reqs
|
||||
apt:
|
||||
ansible.builtin.apt:
|
||||
name: '{{ docker_prereq_packages }}'
|
||||
state: present
|
||||
update_cache: true
|
||||
@@ -20,12 +20,12 @@
|
||||
name: Add Docker repo on Ubuntu 22+ or Debian 12+
|
||||
block:
|
||||
- name: Add gpg key
|
||||
get_url:
|
||||
ansible.builtin.get_url:
|
||||
url: "https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg"
|
||||
dest: /etc/apt/keyrings/docker.asc
|
||||
|
||||
- name: Add Docker repo
|
||||
apt_repository:
|
||||
ansible.builtin.apt_repository:
|
||||
repo: deb [arch={{ 'arm64' if ansible_architecture == 'aarch64' else 'amd64' }} signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} stable
|
||||
state: present
|
||||
|
||||
@@ -35,16 +35,16 @@
|
||||
name: Add Docker repo on Ubuntu 20 or before, or Debian 11 or before
|
||||
block:
|
||||
- name: Add gpg key
|
||||
shell: curl -fsSL https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg >key && apt-key add key
|
||||
ansible.builtin.shell: curl -fsSL https://download.docker.com/linux/{{ ansible_distribution | lower }}/gpg >key && apt-key add key
|
||||
|
||||
- name: Add Docker repo
|
||||
apt_repository:
|
||||
ansible.builtin.apt_repository:
|
||||
repo: deb [arch={{ 'arm64' if ansible_architecture == 'aarch64' else 'amd64' }}] https://download.docker.com/linux/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} stable
|
||||
state: present
|
||||
|
||||
- block:
|
||||
- name: Prevent service restart
|
||||
copy:
|
||||
ansible.builtin.copy:
|
||||
content: exit 101
|
||||
dest: /usr/sbin/policy-rc.d
|
||||
backup: true
|
||||
@@ -52,18 +52,18 @@
|
||||
register: policy_rc_d
|
||||
|
||||
- name: Install Docker CE
|
||||
apt:
|
||||
ansible.builtin.apt:
|
||||
name: '{{ docker_packages if needs_docker_daemon else docker_cli_packages }}'
|
||||
state: present
|
||||
|
||||
always:
|
||||
- name: Restore /usr/sbin/policy-rc.d (if needed)
|
||||
command: mv {{ policy_rc_d.backup_file }} /usr/sbin/policy-rc.d
|
||||
ansible.builtin.command: mv {{ policy_rc_d.backup_file }} /usr/sbin/policy-rc.d
|
||||
when:
|
||||
- '"backup_file" in policy_rc_d'
|
||||
|
||||
- name: Remove /usr/sbin/policy-rc.d (if needed)
|
||||
file:
|
||||
ansible.builtin.file:
|
||||
path: /usr/sbin/policy-rc.d
|
||||
state: absent
|
||||
when:
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Import GPG key
|
||||
rpm_key:
|
||||
ansible.builtin.rpm_key:
|
||||
key: https://download.docker.com/linux/fedora/gpg
|
||||
state: present
|
||||
|
||||
- name: Add repository
|
||||
yum_repository:
|
||||
ansible.builtin.yum_repository:
|
||||
file: docker-ce
|
||||
name: docker-ce-stable
|
||||
description: Docker CE Stable - $basearch
|
||||
@@ -18,10 +18,10 @@
|
||||
gpgcheck: true
|
||||
|
||||
- name: Update cache
|
||||
command: dnf makecache
|
||||
ansible.builtin.command: dnf makecache
|
||||
|
||||
- name: Install docker
|
||||
dnf:
|
||||
ansible.builtin.dnf:
|
||||
name: "{{ docker_packages if needs_docker_daemon else docker_cli_packages }}"
|
||||
state: present
|
||||
enablerepo: docker-ce-test
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
# See: https://docs.docker.com/engine/installation/linux/docker-ee/rhel/#install-using-the-repository
|
||||
|
||||
- name: Install Docker pre-reqs
|
||||
dnf:
|
||||
ansible.builtin.dnf:
|
||||
name: "{{ docker_prereq_packages }}"
|
||||
state: present
|
||||
notify: cleanup docker
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
# Docker broke their .repo file, so we set it up ourselves
|
||||
- name: Set-up repository
|
||||
yum_repository:
|
||||
ansible.builtin.yum_repository:
|
||||
name: docker-ce
|
||||
description: docker-ce
|
||||
baseurl: https://download.docker.com/linux/rhel/{{ ansible_facts.distribution_major_version }}/$basearch/stable
|
||||
@@ -26,13 +26,13 @@
|
||||
gpgkey: https://download.docker.com/linux/rhel/gpg
|
||||
|
||||
- name: Install docker
|
||||
dnf:
|
||||
ansible.builtin.dnf:
|
||||
name: "{{ docker_packages if needs_docker_daemon else docker_cli_packages }}"
|
||||
state: present
|
||||
notify: cleanup docker
|
||||
|
||||
- name: Make sure the docker daemon is running (failure expected inside docker container)
|
||||
service:
|
||||
ansible.builtin.service:
|
||||
name: docker
|
||||
state: started
|
||||
ignore_errors: "{{ ansible_virtualization_type in ['docker', 'container', 'containerd'] }}"
|
||||
|
||||
@@ -7,22 +7,22 @@
|
||||
# See: https://docs.docker.com/engine/installation/linux/docker-ee/rhel/#install-using-the-repository
|
||||
|
||||
- name: Install Docker pre-reqs
|
||||
yum:
|
||||
ansible.builtin.dnf:
|
||||
name: "{{ docker_prereq_packages }}"
|
||||
state: present
|
||||
notify: cleanup docker
|
||||
|
||||
- name: Install epel repo which is missing on rhel-7 and is needed for pigz (needed for docker-ce 18)
|
||||
include_role:
|
||||
ansible.builtin.include_role:
|
||||
name: setup_epel
|
||||
|
||||
- name: Enable extras repository for RHEL on AWS
|
||||
# RHEL 7.6 uses REGION-rhel-server-extras and RHEL 7.7+ use rhel-7-server-rhui-extras-rpms
|
||||
command: yum-config-manager --enable REGION-rhel-server-extras rhel-7-server-rhui-extras-rpms
|
||||
ansible.builtin.command: yum-config-manager --enable REGION-rhel-server-extras rhel-7-server-rhui-extras-rpms
|
||||
|
||||
# Docker broke their .repo file, so we set it up ourselves
|
||||
- name: Set-up repository
|
||||
yum_repository:
|
||||
ansible.builtin.yum_repository:
|
||||
name: docker-ce
|
||||
description: docker-ce
|
||||
baseurl: https://download.docker.com/linux/centos/{{ ansible_facts.distribution_major_version }}/$basearch/stable
|
||||
@@ -30,16 +30,16 @@
|
||||
gpgkey: https://download.docker.com/linux/centos/gpg
|
||||
|
||||
- name: Update cache
|
||||
command: yum -y makecache fast
|
||||
ansible.builtin.command: yum -y makecache fast
|
||||
|
||||
- name: Install docker
|
||||
yum:
|
||||
ansible.builtin.dnf:
|
||||
name: "{{ docker_packages if needs_docker_daemon else docker_cli_packages }}"
|
||||
state: present
|
||||
notify: cleanup docker
|
||||
|
||||
- name: Make sure the docker daemon is running (failure expected inside docker container)
|
||||
service:
|
||||
ansible.builtin.service:
|
||||
name: docker
|
||||
state: started
|
||||
ignore_errors: "{{ ansible_virtualization_type in ['docker', 'container', 'containerd'] }}"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
# See: https://docs.docker.com/engine/installation/linux/docker-ee/rhel/#install-using-the-repository
|
||||
|
||||
- name: Install Docker pre-reqs
|
||||
dnf:
|
||||
ansible.builtin.dnf:
|
||||
name: "{{ docker_prereq_packages }}"
|
||||
state: present
|
||||
notify: cleanup docker
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
# Docker broke their .repo file, so we set it up ourselves
|
||||
- name: Set-up repository
|
||||
yum_repository:
|
||||
ansible.builtin.yum_repository:
|
||||
name: docker-ce
|
||||
description: docker-ce
|
||||
baseurl: https://download.docker.com/linux/centos/{{ ansible_facts.distribution_major_version }}/$basearch/stable
|
||||
@@ -26,13 +26,13 @@
|
||||
gpgkey: https://download.docker.com/linux/centos/gpg
|
||||
|
||||
- name: Install docker
|
||||
dnf:
|
||||
ansible.builtin.dnf:
|
||||
name: "{{ docker_packages if needs_docker_daemon else docker_cli_packages }}"
|
||||
state: present
|
||||
notify: cleanup docker
|
||||
|
||||
- name: Make sure the docker daemon is running (failure expected inside docker container)
|
||||
service:
|
||||
ansible.builtin.service:
|
||||
name: docker
|
||||
state: started
|
||||
ignore_errors: "{{ ansible_virtualization_type in ['docker', 'container', 'containerd'] }}"
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
# See: https://docs.docker.com/engine/installation/linux/docker-ee/rhel/#install-using-the-repository
|
||||
|
||||
- name: Install Docker pre-reqs
|
||||
dnf:
|
||||
ansible.builtin.dnf:
|
||||
name: "{{ docker_prereq_packages }}"
|
||||
state: present
|
||||
notify: cleanup docker
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
# Docker broke their .repo file, so we set it up ourselves
|
||||
- name: Set-up repository
|
||||
yum_repository:
|
||||
ansible.builtin.yum_repository:
|
||||
name: docker-ce
|
||||
description: docker-ce
|
||||
baseurl: https://download.docker.com/linux/centos/{{ ansible_facts.distribution_major_version }}/$basearch/stable
|
||||
@@ -26,13 +26,13 @@
|
||||
gpgkey: https://download.docker.com/linux/centos/gpg
|
||||
|
||||
- name: Install docker
|
||||
dnf:
|
||||
ansible.builtin.dnf:
|
||||
name: "{{ docker_packages if needs_docker_daemon else docker_cli_packages }}"
|
||||
state: present
|
||||
notify: cleanup docker
|
||||
|
||||
- name: Make sure the docker daemon is running (failure expected inside docker container)
|
||||
service:
|
||||
ansible.builtin.service:
|
||||
name: docker
|
||||
state: started
|
||||
ignore_errors: "{{ ansible_virtualization_type in ['docker', 'container', 'containerd'] }}"
|
||||
|
||||
@@ -12,21 +12,21 @@
|
||||
when: ansible_facts.distribution ~ ansible_facts.distribution_major_version not in ['CentOS6', 'RedHat6']
|
||||
block:
|
||||
- name: Detect whether we are running inside a container
|
||||
current_container_facts:
|
||||
community.docker.current_container_facts:
|
||||
|
||||
- name: Look for marker whether Docker was already set up
|
||||
stat:
|
||||
ansible.builtin.stat:
|
||||
path: /root/community.docker-docker-is-set-up
|
||||
register: docker_setup_marker
|
||||
|
||||
- when: not docker_setup_marker.stat.exists
|
||||
block:
|
||||
- name: Determine whether Docker Daemon needs to be installed
|
||||
set_fact:
|
||||
ansible.builtin.set_fact:
|
||||
needs_docker_daemon: '{{ not ansible_module_running_in_container }}'
|
||||
|
||||
- name:
|
||||
debug:
|
||||
ansible.builtin.debug:
|
||||
msg: |-
|
||||
OS family: {{ ansible_facts.os_family }}
|
||||
Distribution: {{ ansible_facts.distribution }}
|
||||
@@ -34,7 +34,7 @@
|
||||
Distribution full version: {{ ansible_facts.distribution_version }}
|
||||
|
||||
- name: Include distribution specific variables
|
||||
include_vars: "{{ lookup('first_found', params) }}"
|
||||
ansible.builtin.include_vars: "{{ lookup('first_found', params) }}"
|
||||
vars:
|
||||
params:
|
||||
files:
|
||||
@@ -47,7 +47,7 @@
|
||||
- "{{ role_path }}/vars"
|
||||
|
||||
- name: Include distribution specific tasks
|
||||
include_tasks: "{{ lookup('first_found', params) }}"
|
||||
ansible.builtin.include_tasks: "{{ lookup('first_found', params) }}"
|
||||
vars:
|
||||
params:
|
||||
files:
|
||||
@@ -59,43 +59,43 @@
|
||||
- "{{ role_path }}/tasks"
|
||||
|
||||
- name: Make sure that docker is running
|
||||
service:
|
||||
ansible.builtin.service:
|
||||
name: docker
|
||||
state: started
|
||||
when: not ansible_module_running_in_container
|
||||
|
||||
- name: Set marker that Docker was already set up
|
||||
file:
|
||||
ansible.builtin.file:
|
||||
path: /root/community.docker-docker-is-set-up
|
||||
state: touch
|
||||
when: docker_skip_cleanup
|
||||
|
||||
# Detect docker API version
|
||||
- name: Check Docker API version
|
||||
command: "docker version -f {% raw %}'{{(index .Server.Components 0).Details.ApiVersion}}'{% endraw %}"
|
||||
ansible.builtin.command: "docker version -f {% raw %}'{{(index .Server.Components 0).Details.ApiVersion}}'{% endraw %}"
|
||||
register: docker_api_version_stdout
|
||||
ignore_errors: true
|
||||
|
||||
# Detect docker CLI and docker-py versions
|
||||
- name: Check Docker CLI version
|
||||
command: "docker version -f {% raw %}'{{.Client.Version}}'{% endraw %}"
|
||||
ansible.builtin.command: "docker version -f {% raw %}'{{.Client.Version}}'{% endraw %}"
|
||||
register: docker_cli_version_stdout
|
||||
ignore_errors: true
|
||||
|
||||
- set_fact:
|
||||
- ansible.builtin.set_fact:
|
||||
docker_cli_version: "{{ docker_cli_version_stdout.stdout | default('0.0') }}"
|
||||
docker_api_version: "{{ docker_api_version_stdout.stdout | default('0.0') }}"
|
||||
|
||||
- debug:
|
||||
- ansible.builtin.debug:
|
||||
msg: "Docker CLI version: {{ docker_cli_version }}; Docker API version: {{ docker_api_version }}"
|
||||
|
||||
- block:
|
||||
# Cleanup docker daemon
|
||||
- name: Show all containers
|
||||
command: 'docker ps --no-trunc --format {% raw %}"{{.Names}}"{% endraw %}'
|
||||
ansible.builtin.command: 'docker ps --no-trunc --format {% raw %}"{{.Names}}"{% endraw %}'
|
||||
|
||||
- name: "Remove all ansible-docker-test-* docker containers"
|
||||
shell: 'docker ps --no-trunc --format {% raw %}"{{.Names}}"{% endraw %} | grep "^ansible-docker-test-" | xargs -r docker rm -f'
|
||||
ansible.builtin.shell: 'docker ps --no-trunc --format {% raw %}"{{.Names}}"{% endraw %} | grep "^ansible-docker-test-" | xargs -r docker rm -f'
|
||||
register: docker_containers
|
||||
retries: 3
|
||||
delay: 3
|
||||
@@ -103,17 +103,17 @@
|
||||
ignore_errors: true
|
||||
|
||||
- name: "Remove all ansible-docker-test-* docker volumes"
|
||||
shell: 'docker volume ls --format {% raw %}"{{.Name}}"{% endraw %} | grep "^ansible-docker-test-" | xargs -r docker volume rm -f'
|
||||
ansible.builtin.shell: 'docker volume ls --format {% raw %}"{{.Name}}"{% endraw %} | grep "^ansible-docker-test-" | xargs -r docker volume rm -f'
|
||||
register: docker_volumes
|
||||
ignore_errors: true
|
||||
|
||||
- name: "Remove all ansible-docker-test-* docker networks"
|
||||
shell: 'docker network ls --no-trunc --format {% raw %}"{{.Name}}"{% endraw %} | grep "^ansible-docker-test-" | xargs -r docker network rm'
|
||||
ansible.builtin.shell: 'docker network ls --no-trunc --format {% raw %}"{{.Name}}"{% endraw %} | grep "^ansible-docker-test-" | xargs -r docker network rm'
|
||||
register: docker_networks
|
||||
ignore_errors: true
|
||||
|
||||
- name: Cleaned docker resources
|
||||
debug:
|
||||
ansible.builtin.debug:
|
||||
var: docker_resources
|
||||
vars:
|
||||
docker_resources:
|
||||
@@ -123,27 +123,27 @@
|
||||
|
||||
# List all existing docker resources
|
||||
- name: List all docker containers
|
||||
command: docker ps --no-trunc -a
|
||||
ansible.builtin.command: docker ps --no-trunc -a
|
||||
register: docker_containers
|
||||
ignore_errors: true
|
||||
|
||||
- name: List all docker volumes
|
||||
command: docker volume ls
|
||||
ansible.builtin.command: docker volume ls
|
||||
register: docker_volumes
|
||||
ignore_errors: true
|
||||
|
||||
- name: List all docker networks
|
||||
command: docker network ls --no-trunc
|
||||
ansible.builtin.command: docker network ls --no-trunc
|
||||
register: docker_networks
|
||||
ignore_errors: true
|
||||
|
||||
- name: List all docker images
|
||||
command: docker images --no-trunc -a
|
||||
ansible.builtin.command: docker images --no-trunc -a
|
||||
register: docker_images
|
||||
ignore_errors: true
|
||||
|
||||
- name: Still existing docker resources
|
||||
debug:
|
||||
ansible.builtin.debug:
|
||||
var: docker_resources
|
||||
vars:
|
||||
docker_resources:
|
||||
|
||||
Reference in New Issue
Block a user