Приручаем кита: установка Docker и запуск первого сервиса 🐳
В прошлом посте я подготовили «фундамент» — развернули Linux на виртуальной машине. Сегодня переходим к самому интересному: превратим нашу виртуалку в настоящий сервер с помощью Docker.
Этап 1: Ставим Docker Заходим в терминал нашей Ubuntu и вводим команды по очереди: 1️⃣ Обновляем индексы пакетов: sudo apt update (Важно: именно update, чтобы система знала, где искать свежий Docker). 2️⃣ Устанавливаем Docker: sudo apt install docker.io -y 3️⃣ Запускаем и включаем автозагрузку: sudo systemctl enable --now docker Теперь Docker будет включаться сам вместе с виртуалкой. 4️⃣ Даем права пользователю: sudo usermod -aG docker $USER (Это нужно, чтобы не писать sudo перед каждой командой Docker. Linux — парень суровый и просто так правами не раскидывается). P.S. Если после команды терминал просто выдал новую пустую строку — это не ошибка. В Linux отсутствие новостей — это хорошая новость. Значит, всё прошло успешно!
Этап 2: Запуск первого контейнера (Nginx) Давайте запустим полноценный веб-сервер одной командой: docker run -d -p 80:80 --name my-web nginx Разбор магии: -d (detached) — контейнер работает «в фоне», не занимая консоль. -p 80:80 — мы пробрасываем «мостик» с 80 порта виртуалки на 80 порт внутри контейнера. --name my-web — даем красивое имя вместо случайного набора букв. 🛠 Что делать, если поймали ошибку Permission Denied? Если Docker ругается на права, не паникуйте. Системе нужно время, чтобы осознать, что вы теперь «главный». Перезагрузите виртуалку: sudo reboot После входа проверьте права командой: docker ps Если увидели таблицу с заголовками (ID, IMAGE, COMMAND) — победа, права применились!
🏁 Момент триумфа Теперь проверяем результат: В терминале вводим docker ps. В таблице должна появиться строка с образом nginx. Узнаем IP нашей машины через команду ip addr (ищем адрес вроде 192.168.x.x). Открываем браузер на основном компьютере и вводим этот IP. Если вы увидели заветную надпись “Welcome to nginx!” — поздравляю! Вы официально развернули свою первую веб-инфраструктуру в контейнере. 🏆
🛑 А как всё остановить? Если эксперименты на сегодня закончены, не стоит оставлять сервер работать вхолостую. Вот две команды, которые помогут навести порядок: 1️⃣ Останавливаем контейнер: docker stop my-web (Теперь по IP-адресу в браузере ничего не откроется). Чтобы убедиться, что контейнер действительно «уснул», прописываем в терминале знакомую команду docker ps. Если таблица пустая — всё получилось! 2️⃣ Удаляем контейнер совсем: docker rm my-web Это удалит «работающий экземпляр», но сам образ Nginx останется у вас на диске. В следующий раз запуск будет мгновенным.