{% if grains['kernel'] == 'Linux' %} {% if grains['os'] == 'Debian' %} {% set LURL="deb [arch=amd64] https://download.docker.com/linux/debian " + grains['oscodename']+ " stable" %} {% elif grains['os'] == 'CentOS'%} {% set LURL='https://download.docker.com/linux/centos/' + grains['osmajorrelease']|string + '/$basearch/stable' %} {% endif %} RemovePreviousDocker: pkg.removed: - pkgs: - docker - docker-engine - docker.io - docker-client - docker-client-latest - docker-common - docker-latest - docker-latest-logrotate - docker-logrotate - docker-selinux - docker-engine-selinux - docker-engine DockerPrerequisitePackages: pkg.installed: - pkgs: {% if grains['os_family'] == 'Debian' %} - apt-transport-https - curl - ca-certificates - gnupg2 - software-properties-common {% elif grains['os'] == 'CentOS' %} - yum-utils - device-mapper-persistent-data - lvm2 {% endif %} Remove Docker-CE Repository: file.absent: - names: - /etc/apt/sources.list.d/docker-ce.list - /etc/yum.repos.d/docker-ce.repo DockerCE Repository: pkgrepo.managed: {% if grains['os'] == 'Debian' %} - humanname: Docker-CE Repository - name: {{ LURL }} - file: /etc/apt/sources.list.d/docker-ce.list - keyid: 0EBFCD88 - keyserver: keyserver.ubuntu.com {% elif grains['os'] == 'CentOS'%} - baseurl: {{ LURL }} - humanname: docker-ce-stable - name: docker-ce - enabled: 1 - gpgcheck: 1 - gpgkey: https://download.docker.com/linux/centos/gpg {% endif %} Install Docker-CE: pkg.installed: - pkgs: - docker-ce - docker-compose {% endif %}