71 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# ---
 | 
						|
# tasks file for install_docker
 | 
						|
- name: Check if Docker is installed
 | 
						|
  become: yes
 | 
						|
  command: docker -v 
 | 
						|
  register: docker_installed
 | 
						|
  ignore_errors: true
 | 
						|
 | 
						|
- name: Ensure no conflicting Docker packages are installed
 | 
						|
  become: yes
 | 
						|
  ansible.builtin.apt:
 | 
						|
    name:
 | 
						|
      - docker.io 
 | 
						|
      - docker-doc 
 | 
						|
      - docker-compose 
 | 
						|
      - podman-docker 
 | 
						|
      - containerd 
 | 
						|
      - runc
 | 
						|
    state: absent
 | 
						|
    purge: yes
 | 
						|
 | 
						|
- name: Install Docker 
 | 
						|
  become: yes
 | 
						|
  block:
 | 
						|
    - name: Add Docker's official GPG key
 | 
						|
      block:
 | 
						|
        - name: Install necessary packages
 | 
						|
          become: yes
 | 
						|
          ansible.builtin.apt:
 | 
						|
            name:
 | 
						|
              - ca-certificates 
 | 
						|
              - curl
 | 
						|
              - gnupg
 | 
						|
            state: latest
 | 
						|
            update_cache: yes
 | 
						|
        - name: Add GPG key
 | 
						|
          ansible.builtin.shell:
 | 
						|
            cmd: |
 | 
						|
              install -m 0755 -d /etc/apt/keyrings
 | 
						|
              curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
 | 
						|
              chmod a+r /etc/apt/keyrings/docker.asc
 | 
						|
    - name: Add the repository to Apt sources
 | 
						|
      block:
 | 
						|
        - name: Add repos
 | 
						|
          ansible.builtin.shell:
 | 
						|
            cmd: |
 | 
						|
              echo \
 | 
						|
              "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
 | 
						|
              "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
 | 
						|
              sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
 | 
						|
 | 
						|
    - name: Install Docker packages
 | 
						|
      become: yes
 | 
						|
      ansible.builtin.apt:
 | 
						|
        name:
 | 
						|
          - docker-ce 
 | 
						|
          - docker-ce-cli 
 | 
						|
          - containerd.io 
 | 
						|
          - docker-buildx-plugin 
 | 
						|
          - docker-compose-plugin
 | 
						|
        state: latest
 | 
						|
        update_cache: yes
 | 
						|
  when: docker_installed.failed
 | 
						|
 | 
						|
    - name: Install some additional tools
 | 
						|
      become: yes
 | 
						|
      ansible.builtin.apt:
 | 
						|
        name:
 | 
						|
          - vim 
 | 
						|
          - tmux
 | 
						|
        state: latest
 |