TGViewer
Docker простыми словами Docker простыми словами @justdocker · 6.3K subscribers
Post #502 3.18K
Продвинутые команды Docker 💡

Ниже — рабочие one-liners и флаги, которые экономят время, трафик и нервы в проде.

🧱 Build/кэш/секреты
1) Включить BuildKit + передать секреты без попадания в слой:
DOCKER_BUILDKIT=1 docker build \
--secret id=GH_TOKEN,src=./token.txt \
--progress=plain -t app:dev .

2) Тянуть/пушить кэш из реестра (CI ускоряется в разы):
docker buildx build \
--cache-from=type=registry,ref=registry.local/app:cache \
--cache-to=type=registry,ref=registry.local/app:cache,mode=max \
-t registry.local/app:latest .

3) Multi-arch за один прогон:
docker buildx build --platform linux/amd64,linux/arm64 \
-t ghcr.io/org/app:1.0 --push .

🗂 Образы/тома/копирование
4) Архивировать том (бэкап артефактов/БД):
docker run --rm -v data:/v -v "$PWD":/b busybox \
sh -c 'cd /v && tar -czf /b/data.tgz .'

Импорт обратно:
docker run --rm -v data:/v -v "$PWD":/b busybox \
sh -c 'cd /v && tar -xzf /b/data.tgz'

5) Вытащить файл из контейнера без ssh:
docker cp myctr:/var/log/app.log ./app.log

⚙️ Ресурсы/лимиты/наблюдение
6) Жёстко ограничить CPU, RAM и swap:
docker run --cpus=1.5 -m 2g --memory-swap=3g myimg

7) Быстрые метрики без лишнего шума:
docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"

🕵️ Логи/диагностика/сеть
😍 Логи за конкретный интервал с таймстампами:
docker logs --since 10m --until 2m --timestamps myctr | grep -i error

9) Netshoot внутри сети контейнера (DNS/HTTP/TLS-диагностика):
docker run --rm --network container:myctr nicolaka/netshoot curl -sI http://localhost:8080

🔖 Лейблы/уборка/инспект
10) Метить временные ресурсы и чистить их безопасно:

docker ps -aq -f "label=tmp=true" | xargs -r docker rm -f
docker images -q -f "label=tmp=true" | xargs -r docker rmi

11) Посмотреть реальный ENTRYPOINT/CMD образа:
docker inspect -f '{{json .Config.Entrypoint}} {{json .Config.Cmd}}' myimg

12) Prune с фильтрами (не трогаем ресурсы с label=keep):
docker system prune -a --volumes \
--filter "label!=keep" --filter "until=168h"

🧩 Compose (бонус)
13) Запуск только нужных профилей:
COMPOSE_PROFILES=api,worker docker compose up -d

14) Проброс build-аргументов и секретов в Compose:
DOCKER_BUILDKIT=1 docker compose build \
--build-arg GIT_SHA=$(git rev-parse --short HEAD) \
--secret id=NPM_TOKEN,src=.npm_token

Используйте лейблы и профили как основу политики «создал — пометь — убери». Это дисциплина, которая спасает прод.
  • ❤ 6
  • 🔥 3
  • 👍 2
More from @justdocker
  1. Sep 25, 2026🐳 Как устроен Docker: что происходит «под капотом» Поговорим немного про базу. Docker — о…
  2. Sep 25, 2026Kagent + Ollama: ИИ-агент для работы с Kubernetes Как использовать локальную языковую моде…
  3. Sep 22, 2026Из вашего резюме вообще понятно, что вы умеете как DevOps-инженер? Мы разбили работу DevOp…
  4. Sep 21, 2026🐳 Docker-образ с 3,17 ГБ до 354 МБ - почти в 9 раз меньше Такая оптимизация обычно достиг…
  5. Sep 15, 2026eBPF: рентгеновское зрение для production Сервис замедлился, соединения обрываются, а прив…
  6. Sep 10, 2026Чат с вашими резюме. Присылайте резюме, чтобы HR вас увидела и ей(ему) было удобно с вами…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →