Как пользоваться: Шпаргалка Docker
- Введите свои значения (образ, контейнер, порты, сервис) в полях вверху — все примеры на странице обновятся сразу.
- Найдите нужную команду через поиск или перейдите к разделу.
- Нажмите Copy, чтобы скопировать готовую строку, или Copy section, чтобы скопировать блок с комментариями.
- Команды с пометкой destructive удаляют или перезаписывают данные — прочитайте примечание перед запуском.
Образы, контейнеры, тома и сети
Образ — это упакованная файловая система и команда запуска, собранные из Dockerfile. Контейнер — это запущенная копия образа. Все данные, которые записывает контейнер, исчезают при его удалении, если только они не сохранены в томе. Контейнеры в одной пользовательской сети обращаются друг к другу по имени — так сервисы Compose подключаются к своей базе данных.
Как читать -p и -v
Оба флага записываются в виде host:container. -p 8080:3000 означает «запросы на порт 8080 моего компьютера передаются на порт 3000 контейнера». -v app-data:/data монтирует именованный том app-data в каталог /data; -v "$(pwd)":/app монтирует вместо этого текущую папку — так в разработке работает автоматическая перезагрузка кода.
Как сделать образы компактными и сборку быстрой
- Начинайте с облегчённых базовых образов, например
-alpineили-slim, и используйте многоэтапную сборку, чтобы компиляторы не попадали в продакшен. - Копируйте файлы зависимостей и устанавливайте их до копирования остального кода, чтобы слой с установкой оставался в кеше.
- Добавьте
.dockerignoreдляnode_modules,.gitи результатов сборки.
Создать файлы Compose можно в генераторе Docker Compose, а настроить CI — в генераторе GitHub Actions.
Также ищут как: docker compose команды, docker run, docker exec, docker prune.
Инструменты, которые хорошо сочетаются с Шпаргалка Docker
- Шпаргалка по Linux-командам — Команды Linux и bash, которые разработчики используют на серверах и ноутбуках: файлы, поиск, права доступа, процессы, логи, сеть и SSH.
- Шпаргалка Git — Все команды Git, которые вы используете каждый день, и те, что нужны, когда что-то пошло не так, — с пояснением в одну строку.
- Генератор конфига Nginx — Выберите, что должен делать Nginx: отдавать статический сайт или SPA, проксировать запросы к приложению на Node/Python или обрабатывать PHP.
- Промпты для разработчиков — Проверенные промпты для задач, которые вы решаете каждый день: отладка, ревью, тесты, рефакторинг, SQL, сообщения коммитов и документация.
Часто задаваемые вопросы
В чём разница между образом и контейнером?
Как освободить место на диске, которое занимает Docker?
docker system df, затем удалите кеш сборки командой docker builder prune и неиспользуемые образы командой docker image prune -a. Команда docker system prune удаляет больше за один раз — сначала посмотрите, что она удалит.Правильно docker compose или docker-compose?
docker compose (через пробел). Это Compose v2, встроенный в CLI Docker. Отдельный инструмент docker-compose v1 устарел.Почему мои контейнеры не видят друг друга?
docker network create) или в один проект Compose, затем используйте имя сервиса или контейнера как имя хоста.