std::slavik
подскажите пожалуйста как собрать докер с python3 + полный ffmpeg (с openssl и libopus)
std::slavik
чет никак не получается - пробую за основу взять alpine python3 потом устанавливаю requirements
std::slavik
я так понял нужно сперва собрать питон с зависимостями, потом отдельно ffmpeg и через composer это все объединить в рамках одного Dockerfile не получается
bama^boy
я так понял нужно сперва собрать питон с зависимостями, потом отдельно ffmpeg и через composer это все объединить в рамках одного Dockerfile не получается
Можно все собрать в один, только надо все зависимости поставить, и лучше без alpine, меньше геморроя будет
std::slavik
Можно все собрать в один, только надо все зависимости поставить, и лучше без alpine, меньше геморроя будет
вот кстати тоже вопрос - я докер только осваиваю - насколько понял он в чистом виде перекидывает просто айдишники всякие и создает для процесса свое окружение
std::slavik
и я считал пока не начал собирать чтот пытаться, что все будет работать на основной OS
bama^boy
От основной ос только ядро
std::slavik
но почему то все контейнеры идут с centos alpine и тд
bama^boy
Почитай про докер ещё, чтоб было понятно, как он устроен. Информации в интернете навалом.
bama^boy
а chroot? а cgroups? а fs?
ФС да, а cgroups это ядро
std::slavik
да уж много всего перечитал - пока что видимо что то смешалось в кашу - надо что то уже сделать полезное)
std::slavik
когда чет работает проще разобраться)
bama^boy
а chroot? а cgroups? а fs?
Chroot ты имеешь в виду namespaces? Это тоже ядро
std::slavik
Chroot ты имеешь в виду namespaces? Это тоже ядро
вот - про это с хайлод конфы слушал доклад
ilya
chroot != namespaces, в докере нет chroot
std::slavik
ну то есть нет же нужды накатывать операционку еще одну
std::slavik
если нужен питон и ffmpeg
bama^boy
их, угу почему это ядро?
потому что это фича ядра https://en.wikipedia.org/wiki/Linux_namespaces
Alex
17:55 $ docker run -it microsoft/windowsservercore:ltsc2016 Unable to find image 'microsoft/windowsservercore:ltsc2016' locally ltsc2016: Pulling from microsoft/windowsservercore 3889bb8d808b: Pulling fs layer 6631c2d2a60c: Pulling fs layer docker: image operating system "windows" cannot be used on this platform. See 'docker run --help'.
Alex
и что же я делаю не так?
bama^boy
и что же я делаю не так?
запускаешь венду же, фу фу фу
Alex
запускаешь венду же, фу фу фу
дык оригинальный вопрос именно в этом
Alex
и нет, виндовые контейнеры на никсах не запустятся
bama^boy
дык оригинальный вопрос именно в этом
я отвечал на вопрос про ffmpeg =)
Alex
а, тогда это к @fantasy_h1
std::slavik
а если уже у меня есть собранный ffmpeg на системе
Alex
а вообще винду в мусорку, да и все
std::slavik
я же могу в докер бинарники закинуть ссылки сделать
std::slavik
если он просто форкает процесс демона
bama^boy
поставь туда просто третий питон и будет счастье
std::slavik
поставь туда просто третий питон и будет счастье
пробовал, чет зафейлилось, попробую еще раз)
std::slavik
так - вроде бы понял - докер просто создает окружение и форкает процесс, соответственно если мы хотим в этом процессе питон или ffmpeg - придется базовые службы и каталоги операционки накатить какие то. В данном случае накатили убунту и на ней скомпилили ffmpeg. Я через apt-get соответственно поставил в процессе сборки python3 и зависимости, вроде все встало, но почему то при запуске вызывается ffmpeg
std::slavik
FROM jrottenberg/ffmpeg:latest ADD . ~/worker WORKDIR ~/worker COPY . . ENV CLUSTER default RUN apt-get update RUN apt-get install -y python3 RUN apt-get install -y python-pip RUN pip install --upgrade pip RUN pip install -r requirements.txt CMD ["python","worker.py","${CLUSTER}"]
std::slavik
Перезадай entrypoint
точно, спасибо
Konstantin
Ну и как освоишь процесс - займись оптимизацией, а то он у тебя будет весить 2гига
Konstantin
Хотя понять как работают слои лучше сразу
std::slavik
а по переменным окружения еще подскажите
std::slavik
у меня это все висит на редисе соответственно хочу название очереди которую воркер должен слушать подавать при запуске контейнера как это лучше организовать
std::slavik
кеш чистить и лишнее выпиливать из убунты?
Jas
мужики
Jas
я тут образ собрал
Jas
php
Jas
весит гб
Jas
эт норма вообще?
SeniorAnykey
1гб ?
Jas
да
SeniorAnykey
Просто пхп? Без никто?
Jas
с модулями pdo
Jas
+ папка 300 метров, где либа
SeniorAnykey
Ну это все меняет. А что это за либа на 300 метро?
Jas
informix
SeniorAnykey
И для понимания - сравни с образами с докерхаба
Jas
ну вот я и говорю
Jas
там метро 450 примерно
Jas
в купе должно получиться 750
Jas
откуда 250 еще)))))))))))
Jas
просто у меня первый опыт поднятия своего image
SeniorAnykey
Кэш апта и прочий мусор чистил?
Jas
нет
SeniorAnykey
Ну вот
Jas
nfr
Jas
а можешь команду, если помнишь
SeniorAnykey
Возьми оф докер файл пыхи, и поправь под свои задачи)
Jas
я так и сделал)
Jas
правда зашел в контейнер и пришлось руками все ставить
Jas
после этого , вышел и закоммитил
Jas
ну вот что-то опыта и знаний cl не хватило
SeniorAnykey
Ci тут не причем. И да с первого раза не все хорошо выходит
Jas
ну вот у меня сейчас все с первого раза получилось))))
SeniorAnykey
Но лучше всеж научится писать норм докеры и собирать образы по человечески
Sergey
бери образ на базе alpine немного съэкономишь места