Automatizovaná instalace a konfigurace Dockeru na Ubuntu 18.04 pomocí Ansible
Úvod do kontejnerizace s Dockerem
Docker je open-source platforma pro virtualizaci aplikací, která umožňuje vývojářům i administrátorům efektivně balit aplikace a jejich závislosti do izolovaných kontejnerů. Tyto kontejnery obsahují vše potřebné pro spuštění aplikace, od knihoven a nástrojů až po konfigurační soubory. Díky tomu lze aplikace jednoduše nasazovat a provozovat v různých prostředích – vývojovém, testovacím i produkčním.
Ansible, další open-source nástroj, slouží k automatizaci IT úloh, včetně instalace a konfigurace softwaru na vzdálených serverech. S pomocí Ansible můžete automatizovat rutinní úkoly, jako je instalace balíčků, správa uživatelů a služeb. To vede k úspoře času a zajišťuje konzistenci při správě infrastruktury.
V následujícím textu vám ukážeme, jak krok za krokem využít Ansible k instalaci a nastavení Dockeru na serveru s Ubuntu 18.04. Předpokládáme, že máte základní povědomí o Ansible a Dockeru.
První kroky: Instalace Ansible
Pokud Ansible ještě nemáte nainstalován, můžete jej získat pomocí následujících příkazů:
sudo apt-get update sudo apt-get install ansible
Konfigurace Ansible pro vzdálenou správu
Aby Ansible mohl komunikovat se vzdálenými servery, je nezbytné nastavit inventář. Jedná se o soubor, který obsahuje seznam spravovaných serverů spolu s jejich přihlašovacími údaji. Inventář můžete vytvořit ručně, nebo využít nástroje jako Ansible Tower pro jeho generování.
V tomto ukázkovém příkladu si vytvoříme jednoduchý inventář obsahující dva servery:
[webservers] server1.example.com server2.example.com
Následující krok vyžaduje vytvoření SSH soukromého klíče a jeho přidání do SSH agenta. Díky tomu se Ansible bude moci připojit ke vzdáleným serverům bez nutnosti zadávat heslo. Nový SSH klíč vytvoříte pomocí tohoto příkazu:
ssh-keygen -t rsa -b 4096
Systém vás vyzve k zadání názvu souboru pro uložení soukromého klíče. Zvolte bezpečné umístění a název, například ~/.ssh/id_rsa. Budete také vyzváni k zadání přístupové fráze, kterou si dobře zapamatujte, protože ji budete potřebovat při připojování ke vzdáleným serverům.
Po vytvoření soukromého klíče je nutné ho přidat k SSH agentu pomocí příkazu:
ssh-add ~/.ssh/id_rsa
Automatizovaná instalace Dockeru pomocí Ansible Playbooku
S nainstalovaným a nakonfigurovaným Ansible můžete přistoupit k instalaci Dockeru na vzdálených serverech. Vytvořte nový playbook s názvem docker.yml s následujícím obsahem:
- hosts: webservers tasks: - name: Aktualizace systému apt: update_cache: yes - name: Instalace Dockeru apt: name: docker.io state: present - name: Spuštění služby Docker service: name: docker state: started - name: Přidání uživatele do skupiny Docker user: name: username groups: docker append: yes
Tento playbook provede následující kroky:
- Aktualizuje seznam dostupných balíčků na vzdálených serverech.
- Nainstaluje Docker na vzdálené servery.
- Spustí službu Docker.
- Přidá specifikovaného uživatele do skupiny Docker.
Spuštění Ansible Playbooku
Pro spuštění playbooku použijte následující příkaz:
ansible-playbook docker.yml
Ansible se připojí k serverům definovaným v inventáři a provede úlohy popsané v playbooku. Pro detailnější výstup můžete využít příkaz ansible-playbook -vvv docker.yml
.
Ověření instalace Dockeru
Po úspěšné instalaci a konfiguraci Dockeru můžete ověřit jeho funkčnost spuštěním následujícího příkazu:
docker run hello-world
Správné provedení příkazu by mělo vypsat zprávu „Hello from Docker!“.
Závěr
V tomto článku jsme vám představili, jak využít Ansible k automatické instalaci a konfiguraci Dockeru na Ubuntu 18.04. Ukázali jsme si, jak nastavit inventář, vytvořit SSH klíč a napsat Ansible playbook pro instalaci Dockeru. S těmito znalostmi můžete automatizovat implementaci Dockeru na vašich serverech, což zvýší efektivitu a konzistenci vaší správy.
Často kladené dotazy
1. Je možné použít Ansible pro instalaci Dockeru na jiných distribucích Linuxu?
Ano, Ansible je flexibilní a může být použit pro instalaci Dockeru na jakékoli linuxové distribuci, která Docker podporuje.
2. Jak mohu změnit port, na kterém Docker naslouchá?
Port, na kterém Docker naslouchá, můžete změnit úpravou souboru /etc/docker/daemon.json a následným restartem Docker služby.
3. Jak odstraním Docker ze systému?
Docker můžete odinstalovat pomocí příkazu:
sudo apt-get remove docker.io
4. Jak zjistím verzi nainstalovaného Dockeru?
Verzi Dockeru zjistíte pomocí příkazu:
docker version
5. Jak mohu ovládat Docker službu?
Docker službu můžete ovládat pomocí následujících příkazů:
sudo systemctl start docker sudo systemctl stop docker sudo systemctl restart docker
6. Jak nastavím Docker jako démona?
Docker se spouští jako démon automaticky. Pro případné specifické nastavení je nutné editovat soubor /etc/default/docker a nastavit DOCKER_OPTS na --daemon
.
7. Jak přidám uživatele do skupiny Docker?
Uživatele do skupiny Docker přidáte pomocí příkazu:
sudo usermod -aG docker username
8. Jak otestuji, že Docker funguje správně?
Správnou funkčnost Dockeru ověříte pomocí příkazu:
docker run hello-world
9. Kde najdu další informace o Ansible?
Další informace o Ansible naleznete zde:
10. Kde najdu další informace o Dockeru?
Další informace o Dockeru naleznete zde: