Docker — это как волшебный чемоданчик для программиста, в который можно упаковать не только приложение, но и все его зависимости. Представьте: вы собираетесь в путешествие, и вместо того чтобы таскать с собой кучу вещей, просто берёте этот чемоданчик — и всё необходимое уже внутри!
И что самое приятное — этот Docker-чемоданчик работает одинаково на любой платформе. Хотите запустить своё приложение на Windows? Пожалуйста!
На Linux? Легко! На Mac?
Без проблем! Это как если бы вы попытались объяснить бабушке, что её любимая пирожковая начинка теперь может быть готова где угодно — главное, чтобы духовка была правильная.
А теперь представьте себе Docker Compose — это такой дирижёр оркестра из контейнеров.
Вместо того чтобы запускать каждый контейнер по отдельности и надеяться, что они не поссорятся между собой, Compose управляет всеми сразу. Это как если бы у вас была целая банда музыкантов: барабанщик (база данных), гитарист (веб-сервер), певец (приложение) — и дирижёр Docker Compose говорит им «раз-два-три», и они играют вместе так, что публика в восторге.
Но прежде чем начать эту симфонию контейнеризации, надо установить сам Docker.
Для пользователей Ubuntu это почти как ритуал посвящения в тайное братство айтишников: сперва обновляем список пакетов командой sudo apt-get update — чтобы система знала о всех свежих новинках. Потом устанавливаем необходимые инструменты для работы с репозиториями — sudo apt-get install apt-transport-https ca-certificates curl software-properties-common. Представьте себе это как подготовку к походу в магазин: берём корзинку (curl), удостоверяемся, что кошелёк с деньгами при нас (ca-certificates), а также запасаемся картой местности (software-properties-common).
Дальше добавляем ключ GPG от Docker — это как получить секретный пропуск на вечеринку разработчиков: curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -.
Если кто-то спросит вас про этот ключ, расскажите анекдот: «Почему программисты любят криптографию? Потому что без неё их код был бы слишком открытым!» Затем добавляем репозиторий Docker командой sudo add-apt-repository «deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable» — то есть говорим системе: «Эй, вот тут лежат самые свежие образы Docker!»
После этого снова обновляем списки пакетов и устанавливаем Docker Community Edition командой sudo apt-get install docker-ce. Проверяем установку через sudo docker —version — если система отвечает версией докера, значит всё прошло успешно.
Если нет — значит ваш компьютер решил сыграть в прятки.
Теперь перейдём к весёлой части — командам Docker. Команда docker pull похожа на загрузку новых игрушек из магазина Docker Hub.
Вы говорите системе: «Принеси мне образ Ubuntu 20.04», а она скачивает его за секунды (ну или минуту-другую). А команда docker run запускает контейнер из образа — словно вы достали игрушку из коробки и начали играть с ней прямо сейчас.
Флаги -it обеспечивают интерактивность и подключение к терминалу контейнера; проще говоря, вы можете разговаривать с вашим контейнером напрямую, будто он живое существо. Вот тут-то и начинается настоящая магия или хаос — зависит от вашего настроения!
Команда docker ps показывает список запущенных контейнеров; добавляете флаг -a — видите даже тех зверьков, которые уже спят (остановлены). Если хотите отправить кого-то спать навсегда — используйте docker stop container_id; а если хотите вовсе убрать игрушку со стола — docker rm container_id.
Docker — это универсальный инструмент, который позволяет упаковать приложение вместе со всеми зависимостями и запускать его на любой платформе без лишних хлопот. А Docker Compose помогает легко управлять несколькими связанными контейнерами, словно дирижёр, создающий идеальную гармонию из разных компонентов системы.