--- title: Docker-образ icon: simple/docker tags: ["iptvc", "docker"] --- # Построение Docker-образа ## Сборка Образ собирается из [Dockerfile](https://git.axenov.dev/IPTV/iptvc/src/branch/master/Dockerfile) — multi-stage сборка на базе `golang:1.25-alpine` с финальным образом `alpine:3.22`. ```bash docker build -t iptvc ./iptvc ``` Можно передать версию через build-arg: ```bash docker build --build-arg IPTVC_VERSION=1.1.3 -t iptvc:v1.1.3 ./iptvc ``` Целевая платформа и архитектура задаются через `GOOS` и `GOARCH`: ```bash docker build --build-arg GOOS=linux --build-arg GOARCH=arm64 -t iptvc:linux-arm64 ./iptvc ``` ## Запуск ```bash # Проверка плейлистов docker run --rm \ -v ./playlists.ini:/app/playlists.ini \ -v ./channels.json:/app/channels.json \ iptvc check -i playlists.ini --repeat 0 --playlists-all-cooldown 60000 # Веб-сервер с фоновой проверкой docker run --rm -p 8080:8080 \ -v ./playlists.ini:/app/playlists.ini \ -v ./channels.json:/app/channels.json \ iptvc serve -i playlists.ini -p 8080 --check ``` ## Использование в compose В `compose.yml` сервиса `checker` образ собирается автоматически: ```yaml checker: image: git.axenov.dev/iptv/iptvc:latest build: context: ./iptvc dockerfile: Dockerfile command: ["check", "--repeat", "0", "--playlists-all-cooldown", "${CHECK_PLAYLISTS_ALL_COOLDOWN:-60000}"] ``` Подробнее о полном окружении — в разделе [Развёртывание](../site/deploy.md).