Ostatni artykuł, w którym pokazałem jak skonfigurować API Dockera za pomocą playbooka Ansible zaowocował przysłanym mi pytaniem, czy równie prosto da się zautomatyzować instalację samego Dockera. Oczywiście że się da! Pierwsze moduły do Ansible miały na celu ułatwić zarządzanie pakietami i konfigurację systemów typu Linux. Pokarzę Ci teraz fragmenty z mojego playbooka (poszczególne zadania), którego używam do instalacji Dockera na RaspberryPi i dystrybucji Raspbian. Instalacja Dockera za pomocą Ansible składa się jedynie z kilku zadań.
Dodajemy repozytorium APT
Dystrybucja Raspbian bazuje na Debianie. Do zarządzania pakietami wykorzystywany jest menadżer APT. Źródłem paczek jest dla mnie oficjalne repozytorium Dockera. Dokładną instrukcję postępowania znajdziesz w oficjalnej dokumentacji projektu. Na początek musimy skonfigurować nowym repozytorium w konfiguracji APT. Pierwszym krokiem jest dodanie klucza GPG repozytorium Dockera.
- name: Dodaj klucz GPG repozytorium Dockera
apt_key:
url: https://download.docker.com/linux/debian/gpg
state: present
become: yes
become_user: root
become_method: sudo
Następnie dodajemy repozytorium pakietów dedykowanych dla dystrybucji Raspbian
- name: Dodaj repozytorium Dockera do APT
apt_repository:
repo: deb [arch=armhf] https://download.docker.com/linux/raspbian stretch edge
filename: docker
state: present
update_cache: yes
become: yes
become_user: root
become_method: sudo
Zauważmy, że dla bezpieczeństwa jest wprost wskazane, że chcemy dodać repozytorium dla platformy armhf. Parametr update_cache: yes wskazuje, że chcemy, aby poprawne dodanie konfiguracji zakończyło się odświerzeniem informacji o dostępnych pakietach.
Instalacja Dockera za pomocą Ansible
Na koniec pozostaje nam dodać dwa pakiety zawierające sam silnik Dockera oraz klienta tekstowej konsoli CLI. Brakujące pakiety systemowe zostaną automatycznie dobrane i także zainstalowane.
- name: Zainstaluj Dockera
apt:
name: [ docker-ce docker-ce-cli ]
state: latest
update_cache: no
become: yes
become_user: root
become_method: sudo
Ustawiając parametr update_cache: no przyspieszymy proces instalacji. Nie ma potrzeby ponownie odświerzać informacji o pakietach, jeżeli zrobiliśmy to już w poprzednim kroku. W następnym kroku powinniśmy na stałę aktywować usługę, by była uruchamiana przy każdym starcie systemu, ale o tym pisałem w poprzednim artykule.