🏠 Домашнее задание: установка и первые шаги

ℹ️ Не LMS-задание: Для Урока 01 в LMS было задание «Выполнить тест» (вопросы с выбором ответа — см. раздел Задания). Это ДЗ — практическая закрепляющая самопроверка: установить Docker, запустить первые контейнеры, убедиться, что всё работает. Выполните его перед переходом к Уроку 02.

⚡ Что сделать

  1. Установить Docker Desktop (Windows/Mac) или Docker Engine (Linux)
  2. Проверить: docker --version
  3. Запустить: docker run hello-world
  4. Запустить nginx: docker run -d -p 8080:80 nginx → открыть localhost:8080
  5. Зарегистрироваться на Docker Hub

Подготовка окружения

Шаг 1 — Установка Docker Desktop на Windows

Следуйте инструкции из лекции:

  1. Перейдите на docker.com/products/docker-desktop
  2. Скачайте и установите Docker Desktop, следуя инструкциям
  3. При первом запуске установить WSL 2 (если ещё не установлен)

Установка WSL 2 (если потребуется):

# PowerShell — от имени администратора
wsl --install
💡 Дополнительно (опционально): Может потребоваться включить аппаратную виртуализацию (Hardware Virtualization) в BIOS. Это нужно, если Docker сообщает об ошибке виртуализации при первом запуске.

Шаг 1 (альтернатива) — Установка на Mac

  1. Перейдите на docs.docker.com/desktop/install/mac-install
  2. Скачайте версию для вашей архитектуры: Mac with Intel chip или Mac with Apple silicon
  3. Установите Docker Desktop, следуя инструкциям

Шаг 2 — Проверка установки

# PowerShell / Terminal
docker --version
# Ожидаемый вывод: Docker version 26.x.x, build xxxxxxx

docker info
# Должна показать Server: Engine, Containers, Images и т.д.

Шаг 3 — Установка расширения VS Code

Установите расширение Docker — Visual Studio Marketplace.

Это даст подсветку синтаксиса Dockerfile, управление контейнерами прямо из VS Code и удобный Explorer для образов.

Шаг 4 — Регистрация на Docker Hub

  1. Перейдите на hub.docker.com
  2. Нажмите Sign Up в правом верхнем углу
  3. Заполните: Username (уникальный публичный ID), Email, Password
  4. Подтвердите email — придёт письмо «Verify your email address»
  5. После подтверждения войдите в аккаунт через Sign In
💡 Зачем Docker Hub? Позже вы будете публиковать свои образы и скачивать чужие. Аккаунт нужен для docker push и docker login.

Практические задания

Задание 1: Запустить hello-world

# PowerShell / Terminal
docker run hello-world

Ожидаемый результат: Вывод сообщения "Hello from Docker!" — значит, установка прошла успешно и Daemon работает.

Задание 2: Запустить nginx и открыть в браузере

# PowerShell / Terminal
docker run -d -p 8080:80 --name my-nginx nginx

Откройте браузер: http://localhost:8080

Ожидаемый результат: Страница приветствия nginx «Welcome to nginx!».

Остановить и удалить контейнер:

# PowerShell / Terminal
docker stop my-nginx
docker rm my-nginx

Задание 3: Исследовать образы и контейнеры

# PowerShell / Terminal
# Посмотреть список образов
docker images

# Скачать ubuntu и зайти внутрь
docker run -it --rm ubuntu bash

# Внутри контейнера:
cat /etc/os-release
ls /
exit

Ожидаемый результат: Вы увидели версию Ubuntu внутри изолированного контейнера. После exit контейнер автоматически удалён (флаг --rm).

Задание 4: Проверка базовых команд

# PowerShell / Terminal
# Запустить nginx в фоне
docker run -d --name test-nginx nginx

# Посмотреть запущенные контейнеры
docker ps

# Посмотреть логи
docker logs test-nginx

# Остановить
docker stop test-nginx

# Посмотреть все контейнеры (включая остановленные)
docker ps -a

# Удалить
docker rm test-nginx

# Убедиться что пусто
docker ps -a

Проверка в VS Code

  1. Откройте VS Code
  2. В боковой панели найдите иконку Docker (если установили расширение)
  3. В разделе Containers и Images видны все объекты Docker
  4. Откройте встроенный терминал: Terminal → New Terminal
  5. В терминале выполните docker ps и docker images

Чек-лист: что должно работать после урока

  • [ ] docker --version показывает версию Docker
  • [ ] docker run hello-world выводит "Hello from Docker!"
  • [ ] nginx запускается и открывается в браузере
  • [ ] docker ps, docker images работают
  • [ ] Аккаунт на Docker Hub создан
  • [ ] Расширение Docker в VS Code установлено (опционально)
💡 Связь с теорией: Всё, что вы сделали в этом ДЗ — практика разделов Архитектура Docker, Dockerfile/Image/Container и Docker Hub. Перед переходом к Уроку 02 убедитесь, что Docker работает.