Dit artikel stelt voor om de installatie van docker op Raspberry Pi te automatiseren via Ansible met een zelfgemaakte rol.
Vereisten
- Raspbian geïnstalleerd hebben op de doel Raspberry Pi, de procedure is beschikbaar in een eerder artikel Automatische initialisatie en beveiliging van Raspbian op Raspberry Pi
Installatie van Docker
Het verkrijgen van de rol
Ik heb een ansible-rol ontwikkeld voor deze automatisering, hier is hoe je deze kunt verkrijgen:
git clone https://gitlab.com/jls42/ansible-rpi-docker.git roles/ansible-rpi-docker
Ga voor meer details naar de documentatie van ansible-rpi-docker
Aanmaken van het inventarisbestand genaamd inventory
In dit inventarisvoorbeeld heeft de Raspberry Pi het ip 192.168.1.190
[rpi1]
192.168.1.190 servername=rpi1
Voorbereiden van het playbook docker-rpi.yml
---
- name: "Installation de Docker sur le Raspberry Pi"
hosts: rpi1
remote_user: "pi"
roles:
- roles/ansible-rpi-docker
vars:
docker_version: 18.06.1~ce~3-0~raspbian
Uitrol van Docker
export ANSIBLE_HOST_KEY_CHECKING=False
ansible-playbook -b -i inventory docker-rpi.yml
Wat geeft:
jls42@boo:~/rpi$ ansible-playbook -b -i inventory docker-rpi.yml
PLAY [Installation de Docker sur le Raspberry Pi] ******************************************************************************************************************************************************************************************
TASK [Gathering Facts] *********************************************************************************************************************************************************************************************************************
Sunday 09 December 2018 01:20:47 +0100 (0:00:00.050) 0:00:00.051 *******
ok: [192.168.1.190]
TASK [roles/ansible-rpi-docker : Installe les paquets nécessaires à l'utilisation d'un dépôt HTTPS] *****************************************************************************************************************************************
Sunday 09 December 2018 01:20:50 +0100 (0:00:03.350) 0:00:03.401 *******
changed: [192.168.1.190] => (item=[u'apt-transport-https', u'ca-certificates', u'curl', u'gnupg2', u'software-properties-common'])
TASK [roles/ansible-rpi-docker : Ajoute la clef officielle du dépôt Docker] ****************************************************************************************************************************************************************
Sunday 09 December 2018 01:21:41 +0100 (0:00:51.274) 0:00:54.675 *******
changed: [192.168.1.190]
TASK [roles/ansible-rpi-docker : Ajoute le dépôt Docker] ***********************************************************************************************************************************************************************************
Sunday 09 December 2018 01:21:46 +0100 (0:00:04.766) 0:00:59.442 *******
changed: [192.168.1.190]
TASK [roles/ansible-rpi-docker : Installe le paquet docker-ce] *****************************************************************************************************************************************************************************
Sunday 09 December 2018 01:21:57 +0100 (0:00:10.451) 0:01:09.893 *******
changed: [192.168.1.190]
TASK [roles/ansible-rpi-docker : Installe python-pip] **************************************************************************************************************************************************************************************
Sunday 09 December 2018 01:23:14 +0100 (0:01:17.283) 0:02:27.177 *******
changed: [192.168.1.190]
TASK [roles/ansible-rpi-docker : Installe docker-compose via pip] **************************************************************************************************************************************************************************
Sunday 09 December 2018 01:24:02 +0100 (0:00:48.630) 0:03:15.807 *******
changed: [192.168.1.190]
TASK [roles/ansible-rpi-docker : Configure Docker pour qu'il démarre au boot] **************************************************************************************************************************************************************
Sunday 09 December 2018 01:24:58 +0100 (0:00:55.582) 0:04:11.390 *******
ok: [192.168.1.190]
TASK [roles/ansible-rpi-docker : Ajoute l'utilisateur pi dans le groupe docker] ************************************************************************************************************************************************************
Sunday 09 December 2018 01:24:59 +0100 (0:00:01.089) 0:04:12.480 *******
changed: [192.168.1.190]
TASK [roles/ansible-rpi-docker : Supprime la swap] *****************************************************************************************************************************************************************************************
Sunday 09 December 2018 01:25:00 +0100 (0:00:01.265) 0:04:13.745 *******
changed: [192.168.1.190]
PLAY RECAP *********************************************************************************************************************************************************************************************************************************
192.168.1.190 : ok=10 changed=8 unreachable=0 failed=0
Sunday 09 December 2018 01:25:02 +0100 (0:00:02.002) 0:04:15.748 *******
===============================================================================
roles/ansible-rpi-docker ---------------------------------------------- 252.35s
setup ------------------------------------------------------------------- 3.35s
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
total ----------------------------------------------------------------- 255.70s
Playbook run took 0 days, 0 hours, 4 minutes, 15 seconds
jls42@boo:~/rpi$
Verificatie
We verbinden met de Raspberry Pi om de goede installatie van Docker te bevestigen
jls42@boo:~/rpi$ ssh pi@192.168.1.190
Linux rpi1 4.14.79-v7+ #1159 SMP Sun Nov 4 17:50:20 GMT 2018 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Dec 9 00:25:01 2018 from 192.168.1.42
pi@rpi1:~ $ docker --version
Docker version 18.06.1-ce, build e68fc7a
Geniet ervan!
Dit document is vertaald van de fr versie naar de nl taal met behulp van het gpt-4o model. Voor meer informatie over het vertaalproces, zie https://gitlab.com/jls42/ai-powered-markdown-translator