I am wanting to make sure Docker engine is present on my Jenkins host. To prove that Docker is not installed yet, here is the result of sudo systemctl status docker
on the Jenkins host.
Unit docker.service could not be found.
Here is the Ansible playbook I came up with. The target host is an Oracle Linux 7 on ARM64 processor.
---
- name: Install docker
gather_facts: No
hosts: jenkins
tasks:
- name: Install Docker
yum:
name: docker-engine
state: installed
become: yes
- name: Enable/Start Docker
systemd:
name: docker
enabled: yes
state: started
become: yes
- name: Add user vagrant to docker group
user:
name: vagrant
groups: docker
append: yes
become: yes
Here is the result when I execute it.
ansible-playbook playbooks/docker-ce.yaml
PLAY [Install docker] ****************************************************************************************************************************
TASK [Install Docker] ****************************************************************************************************************************
changed: [jenkins.hayato-iriumi.net]
TASK [Enable/Start Docker] ***********************************************************************************************************************
changed: [jenkins.hayato-iriumi.net]
TASK [Add user vagrant to docker group] **********************************************************************************************************
ok: [jenkins.hayato-iriumi.net]
PLAY RECAP ***************************************************************************************************************************************
jenkins.hayato-iriumi.net : ok=3 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
When I ssh into the Jenkins host and check if Docker daemon is running here is the output.
[opc@jenkins ~]$ sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2022-01-03 04:55:11 GMT; 1min 37s ago
Docs: https://docs.docker.com
Main PID: 18476 (dockerd)
Tasks: 8
Memory: 37.5M
CGroup: /system.slice/docker.service
└─18476 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Jan 03 04:55:10 jenkins dockerd[18476]: time="2022-01-03T04:55:10.694835968Z" level=warning msg="Your kernel does not support cgroup blkio weight"
Jan 03 04:55:10 jenkins dockerd[18476]: time="2022-01-03T04:55:10.695237969Z" level=warning msg="Your kernel does not support cgroup bl..._device"
Jan 03 04:55:10 jenkins dockerd[18476]: time="2022-01-03T04:55:10.695923611Z" level=info msg="Loading containers: start."
Jan 03 04:55:11 jenkins dockerd[18476]: time="2022-01-03T04:55:11.014165992Z" level=info msg="Default bridge (docker0) is assigned with...address"
Jan 03 04:55:11 jenkins dockerd[18476]: time="2022-01-03T04:55:11.130298822Z" level=info msg="Loading containers: done."
Jan 03 04:55:11 jenkins dockerd[18476]: time="2022-01-03T04:55:11.147750103Z" level=warning msg="Not using native diff for overlay2, th...overlay2
Jan 03 04:55:11 jenkins dockerd[18476]: time="2022-01-03T04:55:11.148281344Z" level=info msg="Docker daemon" commit=9bb540d graphdriver...03.11-ol
Jan 03 04:55:11 jenkins dockerd[18476]: time="2022-01-03T04:55:11.148597025Z" level=info msg="Daemon has completed initialization"
Jan 03 04:55:11 jenkins systemd[1]: Started Docker Application Container Engine.
Jan 03 04:55:11 jenkins dockerd[18476]: time="2022-01-03T04:55:11.208274084Z" level=info msg="API listen on /var/run/docker.sock"
Hint: Some lines were ellipsized, use -l to show in full.