Я хотел создать многоартное изображение Docker для медиа-транскодирования. Время получить зависимости от кого -то, кто уже сделал это.
Цель
Я хотел, чтобы многоартное изображение запустило mdhiggins/sickbeard_mp4_automator Анкет Мне просто нужен Руководство Скрипт не интеграция Radarr. Изображения, опубликованные Mdhiggins, основаны на изображениях, таких как изображение Linuxserver/Radarr, и не являются многоартами.
Вы можете пропустить вперед, чтобы просто увидеть Dockerfile в Касубоски/Руководство SMA Анкет
Основной проблемой для создания изображения Multiarch является ffmpeg
Анкет В mdhiggins/radarr-sma Dockerfile, он всегда загружает версию FFMPEG AMD64. Это, очевидно, не пойдет хорошо для других архитектур.
Есть сборки FFMPEG, опубликованные для других архитектур. Вам просто нужно было бы убедиться, что загрузить правильный.
Ленивое решение
Было бы не так уж плохо выяснить, какая архитектура строится, а затем загрузить правильную версию FFMPEG. Это еще один сценарий для поддержания.
Я заметил, что Linuxserver Repo уже имеет многоартный контейнер FFMPEG. Они включают статически скомпилированный FFMPEG, поэтому внедрение его в мое изображение так же просто, как копирование бинарного.
Dockerfiles имеет Копия - -Фор =
вариант. Это позволяет копировать файлы с другого изображения. Это изображение автоматически будет правильным для вашей архитектуры (пока его поддерживает изображение).
Таким образом, вместо того, чтобы выяснить правильную архитектуру и загружать соответствующую FFMPEG. Вы можете просто добавить От Linuxserver/ffmpeg как ffmpeg
а затем Copy/usr/local/bin/ff*/usr/local/bin/
.
Это скопирует как FFMPEG, так и FFProbe в созданный контейнер.
Чтобы построить изображение, я использовал тот же метод, что и мой Строительство многоатарных изображений Post Анкет По сути, настройка Docker Buildx в GitHub Dauses. Вы можете увидеть рабочий процесс в Касубоски/Руководство SMA Анкет
Оригинал: «https://dev.to/kasuboski/add-multi-arch-dependencies-easily-1k9o»