TGViewer
Библиотека девопса | DevOps, SRE, Sysadmin Библиотека девопса | DevOps, SRE, Sysadmin @devopsslib · 10.4K subscribers
Post #4323 1.39K
🐳 Ставим Docker одинаково на все сервера

Когда вы разворачиваете Docker на пяти серверах вручную, на каждом может получиться по-своему. На одном установилась одна версия, на другом — другая. На третьем забыли добавить репозиторий. На четвёртом пропустили зависимость.

Вот для этого и нужна автоматизация. Вы один раз описываете правильную установку Docker — и она раскатывается идентично на все серверы.

Используется всё тот же Ansible. Он подключается к каждому серверу и выполняет одни и те же команды по порядку:
- name: Install Docker
hosts: all
become: yes
tasks:
- name: Install required packages
apt:
name: "{{ item }}"
state: present
loop:
- apt-transport-https
- ca-certificates
- curl
- name: Install Docker
shell: curl -fsSL https://get.docker.com | bash


Разберём:

hosts: all — плейбук запустится на всех серверах из вашего инвентаря.

become: yes — нужны права администратора для установки пакетов.

apt: — модуль Ansible для управления пакетами в Debian/Ubuntu. Он знает, как работать с apt-get, и сделает это правильно.

loop: — устанавливает пакеты по одному: apt-transport-https, ca-certificates, curl. Они нужны, чтобы безопасно загрузить Docker.

shell: curl -fsSL https://get.docker.com | bash — официальный скрипт установки Docker от разработчиков. Он сделает все остальное: добавит репозиторий, установит Docker Engine, настроит сервис.

state: present — пакет должен быть установлен. Если его нет, установит. Если есть, проверит версию и обновит при необходимости.

После установки проверьте, что Docker работает:
- name: Verify Docker installation
shell: docker run hello-world
register: docker_test
failed_when: "'Hello from Docker!' not in docker_test.stdout"


Или добавьте проверку в конец плейбука:
- name: Check Docker status
systemd:
name: docker
state: started
enabled: yes


🔹 Программирование на языке Python
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸 Библиотека devops'a

#root_prompt
  • ❤ 4
  • 🌚 1
More from @devopsslib
  1. Sep 28, 2026Роутер умеет больше, чем просто раздавать Wi-Fi: JETON TECH по спеццене в DNS Собирались о…
  2. Sep 25, 2026🤖 ИИ-агенту теперь можно поставить задачу прямо в GitLab — и не расписывать каждый следую…
  3. Sep 25, 2026✨ Как настроить PostgreSQL для продакшен-нагрузок При переходе к продакшен-нагрузкам важно…
  4. Sep 18, 2026От исходного кода до процессора: разберись, как работает программа 💻 Стартует практически…
  5. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  6. Sep 15, 2026👩‍💻 Bash-скрипт для мониторинга сервисов Полноценный мониторинг вроде Zabbix или Prometh…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →