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.