Přehled
Tento článek představí postup, jak nainstalovat Docker pomocí Ansible. Vytvoříme hru Ansible, která bude obsahovat pouze pět řádků kódu. To, co nám umožní mít tak malou příručku, je oficiální instalační skript Dockeru, který za nás zautomatizuje proces instalace Dockeru. Skript funguje na mnoha hlavních distribucích Linuxu, jako jsou Debian, Ubuntu, Fedora, RedHat, CentOS, OpenSuse a Raspbian. Skript, který budeme používat, si můžete prohlédnout a stáhnout na adrese – instalační skript docker . V tomto příkladu nainstalujeme Docker pomocí Ansible na virtuální stroj Debian 11.
Jejich skript sice nenainstaluje Docker compose, ale i tak je to úžasný skript.
Tento proces lze použít na jakémkoli typu linuxového počítače – holém kovu, virtuálním počítači nebo cloudovém serveru.
Další poznámka na okraj – také jsme se zabývali procesem, jak nasadit kontejnery Docker pomocí Ansible – Proces si můžete prohlédnout v tomto příspěvku a jak nasadit Nextcloud a WordPress na Docker pomocí Ansible.
Předpoklady
Pro úspěšnou instalaci Dockeru pomocí Ansible jsou vyžadovány následující předpoklady:
- Povolen SSH přístup na hostitelské skupině (linuxové serverové stroje/vms)
- Uživatel s právy sudo (volitelné – pro použití účtu root)
- Nástroj curl nainstalovaný na serverech Linux
Co je Ansible?
Ansible je nástroj pro poskytování, správu konfigurace a nasazení aplikací s otevřeným zdrojovým kódem umožňující infrastrukturu jako kód. Běží na mnoha systémech podobných Unixu a může konfigurovat systémy podobné Unixu i Microsoft Windows.
Vytvořte soubor hostitele s inventářem a proměnnými
Nejprve musíme vytvořit soubor hostitelů se vzdálenými uzly a nastavit přihlašovací proměnné:
sudo nano /etc/ansible/hosts
Do textového souboru přidejte parametry hostitele, aby vypadaly nějak takto:
[docker] 192.168.122.87 [docker:vars] ansible_user=sudouser1 ansible_password=user1password ansible_become_password=user1password
Uložte soubor a ukončete.
Rozdělení souborů hostitelů:
[docker]
192 168 122 87 – IP adresa vzdáleného hostitele (vm/server) ve skupině hostitelů s názvem docker
[docker:vars]
ansible_user – uživatelské jméno uživatele, který má oprávnění sudo (také můžete nastavit uživatele root)
ansible_password – uživatelské heslo sudo
ansible_become_password – uživatelské heslo sudo (pro oprávnění sudo při spouštění příkazů, které vyžadují přístup k sudo)
Vytvořte .yaml playbook
Dalším krokem je vytvoření .yaml playbooku, do kterého musíme přidat konfiguraci. Soubor playbooku můžete vytvořit kdekoli:
nano docker-install.yml
Jakmile se otevře textový editor, zkopírujte a vložte konfiguraci z níže (pozor na odsazení) a uložte soubor.
--- - hosts: docker tasks: - name: Install Docker ansible.builtin.shell: cd ~ && curl -fsSL https://get.docker.com -o get-docker.sh && sudo sh get-docker.sh
Rozdělení příručky:
hostitelé:docker – Určeno, že tato kniha bude spuštěna a použita pouze v naší hostitelské skupině dockerů.
úkoly: – Určeno, že existuje úloha ke spuštění
jméno: název úlohy, kterou spouštíme
ansible.builtin.sheel: – Modul Ansible shell, který nám umožňuje spouštět příkazy bash shell na našich vzdálených serverech Linux
Příkaz shellu, který jsme spustili v naší příručce Ansible:
“cd ~ &&curl -fsSL https://get.docker.com -o get-docker.sh &&sudo sh get-docker.sh“
Zmíněný příkaz shellu provede následující:Nejprve přejde do domovského adresáře uživatele, stáhne si instalační skript Dockeru do domovského adresáře a spustí stejný instalační skript.
Spusťte příručku
Když máme připraveny naše prostředky, stroje a soubor playbooku, můžeme spustit playbook a inicializovat proces instalace Dockeru. Chcete-li spustit playbook pouze pro konkrétní skupinu hostitelů, spusťte následující:
ansible-playbook docker-install.yml -l docker
Po spuštění playbooku bude dokončení trvat přibližně 10 minut (možná o něco déle, záleží na mnoha faktorech).
Když Ansible dokončí spuštění playbooku a dostanete úspěšnou zprávu jako na obrázku výše, můžeme znovu zkontrolovat, zda je Docker úspěšně nainstalován. Docker by měl hned běžet a můžeme to zkontrolovat příkazem:
sudo systemctl status docker.service sudo docker ps
Shrnutí
Abychom článek shrnuli – provedli jsme kroky, jak nainstalovat Docker pomocí Ansible. Byl vytvořen soubor Hosts, do kterého jsme přidali náš vzdálený uzel s přihlašovacími proměnnými pro připojení SSH, napsali a spustili .yaml playbook, který stáhne oficiální skript automatické instalace Dockeru a spustí stejný skript, který automaticky nainstaluje Docker. Díky tomuto skriptu se náš .yaml playbook skládá pouze z pěti řádků konfigurace.
Vzhledem k tomu, že instalace Dockeru je možná s Ansible, je také možné nasadit kontejnery Docker. Pokud máte zájem, můžete se podívat na proces v tomto příspěvku.
Děkuji za váš čas…