Skip to content

erminson/img-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

img-tool — минимальный Docker-инструмент для обработки изображений

Этот проект показывает, как запускать небольшие Node.js-утилиты полностью внутри Docker, без установки Node.js и node_modules на хост-машину.

Контейнер принимает путь к картинке, ресайзит и конвертирует в другой формат, сохраняет результат в volume и автоматически удаляется.

Функциональность

  • Ресайз изображения (ширина, высота — опционально)
  • Конвертация по расширению выходного файла (jpg, png, webp, etc.)
  • Работа строго внутри Docker
  • Обмен файлами через volume (-v ./images:/data)
  • Контейнер запускается → обрабатывает → завершается → удаляется

Структура проекта

Dockerfile
package.json
index.js
images/

Сборка Docker-образа

docker build -t img-tool .

Запуск обработки изображения

Пример: ресайз до ширины 1024 px и конвертация в .jpg.

docker run --rm \
  -v "$PWD/images:/data" \
  img-tool \
  /data/input.jpg \
  /data/output.jpg \
  1024

Что означает эта команда?

  • --rm — удалить контейнер после завершения
  • -v "$PWD/images:/data" — примонтировать локальную папку images в контейнер как /data
  • /data/input.jpg — входной файл внутри контейнера
  • /data/output.jpg — куда сохранить результат
  • 1024 — новая ширина (высота подберётся автоматически)

Готовый файл появится в ./images/output.jpg на хост-машине.

Примеры использования

Конвертация без ресайза

docker run --rm -v "$PWD/images:/data" img-tool /data/input.jpg /data/out.webp

Ресайз только по ширине

docker run --rm -v "$PWD/images:/data" img-tool /data/input.jpg /data/out.png 800

Почему это удобно?

  • Node.js не нужно устанавливать на хост-машину
  • Никаких глобальных node_modules
  • Лёгко обновлять, переносить и запускать на любой машине
  • Контейнер работает как CLI-утилита

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors