🛠️ Установка инструментов
Что понадобится
| Инструмент | Зачем | Обязателен |
|---|---|---|
| Docker Desktop | движок, образы, контейнеры, Compose — всё в одном | да |
| WSL2 | подсистема Linux, на которой Docker работает под Windows | на Windows |
| AWS CLI + boto3 | облачный блок курса | во второй половине |
| Аккаунт Docker Hub | публикация своих образов | по желанию |
WSL2 — только для Windows
Docker Desktop под Windows работает поверх WSL2. Установка одной командой в PowerShell от администратора:
wsl --install
Команда ставит подсистему и дистрибутив Ubuntu, после чего требуется перезагрузка. Проверить состояние:
wsl -l -v
wsl --set-version Ubuntu 2.wsl --install жалуется на неё — это настройка материнской платы, из Windows её не изменить.Docker Desktop
| Система | Как ставить |
|---|---|
| Windows | winget install Docker.DockerDesktop |
| macOS | brew install --cask docker |
| Linux | Docker Engine из репозитория — инструкция на docs.docker.com |
После установки Docker Desktop нужно запустить — без работающего демона любая команда docker завершится ошибкой подключения.
Первый контейнер
Проверочный образ, который ничего не ломает:
docker run hello-world
Docker скачает крошечный образ, запустит его и напечатает поздравление. Это подтверждает разом три вещи: демон работает, сеть до реестра есть, права в порядке.
docker ps -a
docker images
AWS CLI и boto3
Нужны в облачных уроках:
| Система | Команда |
|---|---|
| Windows | winget install Amazon.AWSCLI |
| macOS | brew install awscli |
| Linux | sudo apt install awscli |
SDK для Python ставится в виртуальное окружение проекта:
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install boto3
aws configure и хранятся в файле ~/.aws/credentials. В код их не вписывают и в репозиторий не коммитят.Проверка, что всё встало
Команды, после которых можно начинать первый урок:
| Команда | Ожидаемый результат |
|---|---|
wsl -l -v | дистрибутив с VERSION = 2 (Windows) |
docker --version | версия клиента |
docker run hello-world | сообщение «Hello from Docker!» |
docker compose version | версия Compose v2 |
aws --version | версия CLI (для облачных уроков) |
Частые проблемы
error during connect: docker daemon is not running
Docker Desktop не запущен. Откройте программу и дождитесь, пока значок кита перестанет мигать.
WSL2 installation is incomplete
Не установлено обновление ядра WSL. Выполните wsl --update и перезагрузитесь.
Порт уже занят
Контейнер не поднимется, если порт слушает другая программа. Посмотрите, кто именно, и поднимите контейнер на другом порту:
netstat -ano | findstr :8080
docker run -p 8081:80 nginx
Docker съел всё место на диске
Остановленные контейнеры и старые образы копятся. Смотрите, сколько занято, и чистите осознанно — prune удаляет данные безвозвратно:
docker system df
docker image prune