Created
November 15, 2017 18:04
-
-
Save yonglai/d4617d6914d5f4eb22e4e5a15c0e9a03 to your computer and use it in GitHub Desktop.
An Ansible playbook to install docker-ce on Centos
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
- name: Install docker | |
gather_facts: No | |
hosts: default | |
tasks: | |
- name: Install yum utils | |
yum: | |
name: yum-utils | |
state: latest | |
- name: Install device-mapper-persistent-data | |
yum: | |
name: device-mapper-persistent-data | |
state: latest | |
- name: Install lvm2 | |
yum: | |
name: lvm2 | |
state: latest | |
- name: Add Docker repo | |
get_url: | |
url: https://download.docker.com/linux/centos/docker-ce.repo | |
dest: /etc/yum.repos.d/docer-ce.repo | |
become: yes | |
- name: Enable Docker Edge repo | |
ini_file: | |
dest: /etc/yum.repos.d/docer-ce.repo | |
section: 'docker-ce-edge' | |
option: enabled | |
value: 0 | |
become: yes | |
- name: Enable Docker Test repo | |
ini_file: | |
dest: /etc/yum.repos.d/docer-ce.repo | |
section: 'docker-ce-test' | |
option: enabled | |
value: 0 | |
become: yes | |
- name: Install Docker | |
package: | |
name: docker-ce | |
state: latest | |
become: yes | |
- name: Start Docker service | |
service: | |
name: docker | |
state: started | |
enabled: yes | |
become: yes | |
- name: Add user vagrant to docker group | |
user: | |
name: vagrant | |
groups: docker | |
append: yes | |
become: yes |
Actually, this is because RHEL's container-tools module provides it's own runc
binary, which conflicts with the runc
docker-ce provides.
this worked very well for me on centos7, thanks for sharing!
Worked for me, many thks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@a19singh : your best option at the moment it is to change the task as for the following
current
yum:
name: docker-ce
state: latest
RHEL 8 version
shell: "dnf install --nobest docker-ce"
A more clean solution It would be to declare both tasks and set a
when
conditional, in order to evaluate which version of the current OS it is running and, based on that execute the related task.The error you see it is due to the fact RH it is trying to stop the usage of docker on their systems, making use of their own tools ( buildah and podman ).
At today the merging of the usage of the
--nobest
option into the dnf module for ansible it is currently ongoing, that's the reason why it still be necessary to declare it as a ( shell ) command.source : ansible/ansible#70318