Вики· Обновлено 19 окт. 2026 г.
Шпаргалка: Docker и Compose
Команды Docker и Docker Compose: контейнеры, логи, образы, тома, сети, чистка.
Контейнеры
docker ps # запущенные
docker ps -a # все, включая остановленные
docker run -d --name web -p 8080:80 nginx # запустить в фоне
docker run --rm -it ubuntu bash # временный, с терминалом
docker stop web && docker start web
docker restart web
docker rm -f web # удалить (с остановкой)
docker exec -it web sh # зайти внутрь
docker exec web cat /etc/nginx/nginx.conf # выполнить команду
docker cp web:/etc/nginx/nginx.conf . # файл из контейнера
docker cp ./index.html web:/usr/share/nginx/html/
Логи и состояние
docker logs -f --tail 100 web # последние 100 строк и дальше
docker logs --since 30m web
docker stats --no-stream # CPU и память всех контейнеров
docker inspect web # всё о контейнере
docker inspect -f '{{.State.Health.Status}}' web
docker inspect -f '{{json .Mounts}}' web # куда смонтированы данные
docker top web # процессы внутри
docker events --since 10m # что происходило
Образы
docker images
docker pull nginx:1.27
docker build -t myapp:1.0 .
docker build --no-cache -t myapp:1.0 .
docker tag myapp:1.0 registry.example.com/myapp:1.0
docker push registry.example.com/myapp:1.0
docker rmi myapp:1.0
docker history myapp:1.0 # из каких слоёв
Тома и сети
docker volume ls
docker volume inspect pgdata # Mountpoint — где лежат данные
docker run --rm -v pgdata:/data -v "$PWD":/backup alpine tar czf /backup/pgdata.tgz -C /data .
docker network ls
docker network inspect bridge
docker network create mynet
docker network connect mynet web
Compose
docker compose up -d # поднять (и пересоздать изменённое)
docker compose up -d --build # пересобрать образы
docker compose ps
docker compose logs -f --tail 100 app
docker compose exec app sh
docker compose restart app
docker compose pull && docker compose up -d # обновить образы
docker compose down # удалить контейнеры, тома остаются
docker compose down -v # и тома — данные удалятся!
docker compose config # итоговый конфиг с подставленными переменными
docker compose -f compose.yml -f compose.override.yml up -d
docker compose ls # все проекты на сервере
Место и чистка
docker system df # сколько занимают образы, тома, кеш
docker image prune # образы без тегов
docker image prune -a # все неиспользуемые образы
docker builder prune # кеш сборки
docker container prune # остановленные контейнеры
docker volume prune # тома без контейнеров — осторожно, это данные
Лимит логов для всех контейнеров — /etc/docker/daemon.json, затем systemctl restart docker (действует на новые контейнеры):
{ "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "5" } }
Всё это по шагам делает rs clean. Перевести docker run в compose — конвертер.
